গিটহাবে ফাঁকা শাখা তৈরি করুন


114

আমি একটি নতুন গিটহাব শাখা তৈরি করতে চাই, যার নাম release

এই শাখাটি খালি থাকা দরকার ! তবে, এক্স কমিট সহ একটি বিদ্যমান শাখা রয়েছে এবং আমি এর প্রতিশ্রুতিবদ্ধ ইতিহাস রাখতে চাই না।

আমি খুঁজে পেয়েছি একমাত্র পদ্ধতি হ'ল স্থানীয় --orphan শাখা তৈরি করা ।



4
আপনি কেন এটা করতে চান? আপনি খালি সেটটিকে "ফ্রেড" বলতে পারেন, তবে এটি এখনও খালি সেট।
এমএসডব্লু

আপনি কেন এটি করতে চান তা সম্পর্কে যদি আপনি আমাদের আরও বলেন তবে এটি আমাদের ভাল উত্তর নিয়ে আসতে সহায়তা করবে।
willoller

উত্তর:


234

কি সমস্যা রয়েছে --orphanবিকল্প? আপনি যদি এমন একটি শাখা চান যা খালি এবং কোনও ইতিহাস না থাকে তবে এই উপায়টি ...

git checkout --orphan empty-branch

তারপরে আপনি স্টেজিং এরিয়াতে থাকা সমস্ত ফাইল সরিয়ে ফেলতে পারেন (যাতে তারা প্রতিশ্রুতিবদ্ধ না হয়):

git rm -rf .

এই মুহুর্তে আপনার মেশিনে আপনার খালি শাখা রয়েছে।

আপনি গিটহাব (বা অন্য কোনও গিট সংগ্রহস্থল) -কে চাপ দেওয়ার আগে আপনার খালি শাখাটি ঠেলাঠেলি করতে না পারায় আপনার কমপক্ষে একটি কমিটের প্রয়োজন পড়বে, যদিও এতে কোনও বিষয়বস্তু না থাকলেও (যেমন শূন্য প্রতিশ্রুতি) will

git commit --allow-empty -m "root commit"

অবশেষে, এটিকে রিমোটে চাপুন এবং একটি বিয়ার খুলুন

git push origin empty-branch

4
হাই, খালি-শাখা গিথুব সংগ্রহের তৈরি করার পরে যখন আমি অন্য শাখা থেকে পুল-অনুরোধ তৈরি করার চেষ্টা করছি তখন কোনও ফাইল পার্থক্য দেখানো হচ্ছে না। আপনি কি আমাকে সমাধান করতে পারেন তা বলতে পারেন।
রাঘভেন্দ্র এস

আমার উত্তর দেখুন আমারও একই প্রশ্ন ছিল.
গ্রেগ এম Krsak

4
সম্ভবত কিছু লোকের এই গৃহীত উত্তরের সাথে সমস্যা রয়েছে কারণ git add .আপনি সমস্ত ফাইল সরিয়ে দেওয়ার পরে এবং প্রতিশ্রুতিবদ্ধ হওয়ার আগে এটি একটি পদক্ষেপ মিস করছে ?
এসসিয়েল

13

--orphan স্থানীয়ভাবে একটি খালি শাখা তৈরির জন্য ভাল, তবে এটি ধাক্কা দেওয়ার জন্য বা অন্যান্য শাখাগুলির সাথে ইন্টারঅ্যাক্ট করার জন্য আপনার একটি প্রতিশ্রুতিবদ্ধ হতে হবে।

এতিম শাখায় একটি নতুন অঙ্গীকার তৈরি করা ভাল ধারণা নয় কারণ আপনি অন্যান্য শাখাগুলির সাথে ইন্টারঅ্যাক্ট করতে পারবেন না। অর্থাৎ

git checkout --orphan test
git commit --allow-empty -m "init test branch"
git merge master
fatal: refusing to merge unrelated histories

পরিবর্তে, আপনি মাস্টার প্রথম প্রতিশ্রুতি থেকে একটি নতুন শাখা তৈরি পছন্দ করা উচিত। কমিট যদি খালি না হয় তবে আপনি প্রথমটির আগে একটি শূন্য প্রতিশ্রুতি যুক্ত করতে পারেন, যেমন @ হটানব দ্বারা ব্যাখ্যা করা হয়েছে।


5

আপনি আপনার শাখার গোড়ায় একটি ফাঁকা প্রতিশ্রুতি তৈরি করতে এখানে নির্দেশাবলী অনুসরণ করতে পারেন master। তারপরে releaseখালি আপনার শাখাটি তৈরি করুন যেখানে খালি রুট কমিট।


2

গৃহীত উত্তর আমাকে কিছু সমস্যার দিকে পরিচালিত করেছিল , তাই আমি এটি করেছি:

$ git branch
* staging
$ git branch master c74d99cf46f6ed23e742f2617e9908294b4a608b
$ git checkout master
Switched to branch 'master'

এবং আমি যা চেয়েছিলাম তা পেয়েছি এবং একত্রিত / পুল-অনুরোধ সংক্রান্ত সমস্যাগুলি। আমার দ্বিতীয় শাখাটি তৈরি করার জন্য আমাকে কেবল একটি বেস কমিট বেছে নিতে হয়েছিল।


সংজ্ঞা অনুসারে যদি আপনার শাখার একটি বেস কমিট থাকে তবে এটি খালি শাখা নয়। এতিম শাখা তৈরি করার সময় আপনার কী সমস্যা ছিল?
সি আগস্টো প্রিয়েট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.