রেপো ফু ও রেপো বার দেওয়া হয়েছে। আমি বারকে ফু এর সাথে একত্রীকরণ করতে চাই, তবে কেবল একটি পৃথক শাখায় ডেকে আছি , যাকে বলে baz।
git checkout -b baz <= বার রেপো এখানে রাখুন।
রেপো ফু ও রেপো বার দেওয়া হয়েছে। আমি বারকে ফু এর সাথে একত্রীকরণ করতে চাই, তবে কেবল একটি পৃথক শাখায় ডেকে আছি , যাকে বলে baz।
git checkout -b baz <= বার রেপো এখানে রাখুন।
উত্তর:
আপনি কোনও শাখায় কোনও সংগ্রহস্থল মার্জ করতে পারবেন না । আপনি অন্য স্থানীয় সংগ্রহস্থল থেকে একটি শাখা আপনার স্থানীয় সংগ্রহস্থলের একটি শাখায় মার্জ করতে পারেন । ধরে নিচ্ছি যে আপনার কাছে দুটি সংগ্রহস্থল রয়েছে এবং উভয়ই আপনার বর্তমান ডিরেক্টরিতে অবস্থিত:foobar
$ ls
foo bar
fooভান্ডারগুলিতে পরিবর্তন করুন :
$ cd foo
barরিমোটারিটি রিমোট হিসাবে যুক্ত করুন এবং এটি আনুন:
$ git remote add bar ../bar
$ git remote update
একটি নতুন শাখা তৈরি করুন bazমধ্যে fooউপর যাই হোক না কেন আপনার বর্তমান শাখা ভিত্তিক সংগ্রহস্থলের:
$ git checkout -b baz
সংগ্রহস্থল somebranchথেকে শাখাকে barবর্তমান শাখায় মার্জ করুন :
$ git merge --allow-unrelated-histories bar/somebranch
( --allow-unrelated-historiesগিট সংস্করণ ২.৯ এর পূর্বে প্রয়োজন হয় না)
"রিয়েল-লাইফ" কমান্ড সহ আপডেট হয়েছে:
আপনার রেপো ডিরেক্টরি থেকে শুরু করুন, আপনার কার্যকরী অনুলিপি পরিষ্কার হয়েছে তা নিশ্চিত করুন (কোনও ফাইল পরিবর্তন হয়নি, যুক্ত বা সরানো হয়নি)।
একটি নতুন শাখা করুন:
git checkout -b <my-branch>
গৌণ দূরবর্তী যুক্ত করুন, তারপরে এটি আনুন:
git remote add <repo-name> git@github.com:xxx/<repo-name>.git
git remote update
তাদের বর্তমান শাখায় তাদের একটি শাখা মার্জ করুন:
git merge <repo-name>/<their-branch>
আপনি কী চান তা যদি না জানেন <their-branch>তবে তার জন্য যানmaster
আপনি যদি নিশ্চিত হন যে আপনি সমস্ত দূরবর্তী পরিবর্তনগুলি গ্রহণ করতে চান এবং দ্বন্দ্বগুলি এড়াতে চান (আপনার ওভাররাইট ) তবে আপনি -X theirsবিকল্প হিসাবে নির্দিষ্ট করতে পারেনgit merge শেষ ধাপে ।
আপনি যদি এটি একটি উপ-ডিরেক্টরিতে যুক্ত করতে চান তবে সম্ভবত আপনার সম্ভবত গিট সাবমডিউল ব্যবহার করা উচিত
লারস্ক থেকে গাইড ব্যবহার করে, সোর্স ট্রি ব্যবহার করে আমি এটি করতে সক্ষম হয়েছি।
--allow-unrelated-historiesগিট মার্জ কমান্ড যুক্ত করতে হবে।