কিভাবে অন্য একটি শাখা থেকে পরিবর্তন পেতে


101

আমি বর্তমানে featurexশাখায় কাজ করছি । আমাদের মাস্টার শাখার নাম দেওয়া হয়েছে শাখা our-team। যেহেতু আমি কাজ শুরু করেছি featurex, তাই শাখায় আরও পরিবর্তন করা হয়েছে our-team। আমি featurexমার্জ করার জন্য চাপ দেওয়ার আগে , আমি স্থানীয়ভাবে our-teamশাখা থেকে সমস্ত পরিবর্তন আনতে চাই featurexযাতে আমি আশা করি যে সবকিছুই কাজ করে আশা করে।

আমি সর্বশেষতম পরিবর্তনগুলি পেতে স্থানীয়ভাবে এটি করেছি our-team

git checkout our-team
git pull

আমি এটা কিভাবে করবো?


9
আপনি প্রশ্নটি খুব ইচ্ছাকৃতভাবে এবং সঠিকভাবে জিজ্ঞাসা করেছেন। এটি উত্তর দেওয়া সহজ করার সাথে সাথে নুবগুলিকে (যেমন আমার) বোঝাও সহজ করে তোলে।
ডগলাস.কির্সম্যান 20

উত্তর:


58

উদাহরণস্বরূপ, আপনি যখন আপনার শাখায় থাকবেনgit rebase our-team তখন আপনি পুনরায় ব্যবহার করতে পারেনfeaturex

এটি আপনার our-teamশাখার সব শেষে পরিবর্তনগুলি মার্জ করে আপনার শাখার শেষে শাখার প্রারম্ভের পয়েন্টটি সরিয়ে ফেলবে featurex


4
আমি ভবিষ্যতে এটি ব্যবহার করব, যাইহোক, এবার প্রায় আমি কেবল নিম্নলিখিতগুলি করলাম..এটি কি একইরকম প্রভাব ফেলেছে? git checkout our-team git pull git checkout featurex git merge our-team
অ্যান্টনি

4
আমি চাপ দিতে চাই: আপনি যদি এটি করেন এবং স্থানীয়ভাবে আপনার যদি পরিবর্তন না হয় তবে তার পরিবর্তে our-teamআপনাকে চালনা করতে git fetch && git rebase origin/our-teamহবে। আপনার কমান্ডগুলি ধরে নিচ্ছে যে সংগ্রহস্থলটি পূর্বে আপডেট করা হয়েছে।
মাকোটো

109
  1. মাস্টার শাখায় যান our-team

    • আমাদের দল চেকআউট
  2. our-teamশাখা থেকে সমস্ত নতুন পরিবর্তন টানুন

    • গিট টান
  3. তোমার শাখায় যাও featurex

    • গিট চেকআউট featurex
  4. এর পরিবর্তনগুলি মার্জ our-teamমধ্যে শাখা featurexশাখা

    • গিট মার্জ our-team
    • বা যদি আপনি নির্দিষ্ট কমিটগুলি মার্জ করতে চান তবে গিট চেরি-পিক করুন{commit-hash}
  5. our-teamশাখার পরিবর্তনগুলির সাথে আপনার পরিবর্তনগুলিকে চাপ দিন

    • গিট ঠেলা

দ্রষ্টব্য : সম্ভবত আপনাকে চাপ দেওয়ার আগে শাখায় our-teamশাখায় মার্জ করার পরে বিরোধগুলি সমাধান করতে হবেfeaturex


গিট টান ভিতরে আসতে হবে?
চিয়া ইয়ংকাং

30
git fetch origin our-team

বা

git pull origin our-team

তবে প্রথমে আপনাকে অবশ্যই নিশ্চিত করা উচিত যে আপনি যে শাখায় আপডেট করতে চান সেটিতে ইতিমধ্যে আপনি (ফিচারেক্স) থাকতে পারেন।


8

তুমি অনেকটা সেখানে :)

যা যা বাকী আছে তা সবই

git checkout featurex
git merge our-team

এটি আমাদের দলটিকে বৈশিষ্ট্যগুলিতে একীভূত করবে।

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


6

গুগলে এই পোস্টে আসা অন্যান্য লোকদের জন্য। আপনার শাখাটি মার্জ করে বা রিবিস করাতে 2 টি বিকল্প রয়েছে । উভয়ই আলাদাভাবে কাজ করে তবে একইরকম ফলাফল রয়েছে।

গৃহীত উত্তর একটি হল রি-বেসের ফলে । এটি করা সমস্ত কমিট গ্রহণ করবে our-team এবং তারপরে করা কমিটগুলি প্রয়োগ করবেfeaturex , আপনাকে প্রয়োজনীয় হিসাবে সেগুলিকে মার্জ করার অনুরোধ করবে।

রিবাইজিংয়ের একটি বিট সতর্কতা হ'ল আপনি আপনার শাখার ইতিহাস হারা / পুনর্লিখন করেছেন, মূলত গিটকে জানান যে আপনার শাখাটি 123abc কমিট থেকে শুরু হয়নি তবে 456cde কমিট করে। এটি শাখায় কাজ করা অন্যান্য ব্যক্তিদের জন্য সমস্যা সৃষ্টি করবে এবং কিছু দূরবর্তী সরঞ্জাম এটি সম্পর্কে অভিযোগ করবে। আপনি যদিও যা করছেন সে সম্পর্কে যদি আপনি নিশ্চিত হন তবে এটি --forceপতাকাটির জন্য।

কি অন্যান্য পোস্টার ইঙ্গিত করা হয় একটি হল একত্রীকরণ । এটি featurexশাখাটি গ্রহণ করবে , যা আছে তার সাথে এবং এটি বর্তমান অবস্থার সাথে একীভূত করার চেষ্টা করবে our-team, আপনাকে একটি করার জন্য অনুরোধ করবে, একটি বড় করুন, মার্জ কমিট করুন এবং ধাক্কা দেওয়ার আগে সমস্ত মার্জ ত্রুটিগুলি ঠিক করে দেবেন our-team। পার্থক্য হ'ল আপনি নিজের featurexপ্রতিশ্রুতিগুলি এর আগে প্রয়োগ করছেনour-team নতুন করে এবং তারপর পার্থক্য স্থাপন। আপনি ইতিহাস পুনর্লিখন করবেন না, এর আগে যাঁরা এসেছিলেন তাদের আবার লেখার পরিবর্তে এটিতে একটি প্রতিশ্রুতি যুক্ত করুন।

উভয় বিকল্প বৈধ এবং এটি কাজ করতে পারে। সাধারণত কী হয় (এর অর্থ হ'ল, যদি আপনি কোনও বৈশিষ্ট্য শাখার জন্য বিস্তৃত সরঞ্জাম এবং পদ্ধতি যেমন গিট-ফ্লো ব্যবহার করে থাকেন ) হ'ল এটি মূল শাখায় মার্জ করা হয়, প্রায়শই মার্জ-অনুরোধের মধ্য দিয়ে যায় এবং সমস্ত দ্বন্দ্ব সমাধান করে যা এক (বা একাধিক) একত্রীকরণের মাধ্যমে উত্পন্ন হয়।

রিবেসিং একটি আকর্ষণীয় বিকল্প, এটি আপনাকে শেষ পর্যন্ত মার্জ করার আগে আপনার শাখাটি ঠিক করতে এবং একটি বড় মার্জ কমিট করার ব্যথা কমিয়ে আনতে সহায়তা করতে পারে।

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