আমি গীত একটি noob, এবং এর মধ্যে পার্থক্য শিখতে চেষ্টা git pullবনাম git rebase। কোন বিকল্পটি কখন ব্যবহার করতে হবে তা উদাহরণ দিতে পারে যেহেতু আমার কাছে মনে হয় যে উভয়ই একই উদ্দেশ্যে কাজ করে।
আমি গীত একটি noob, এবং এর মধ্যে পার্থক্য শিখতে চেষ্টা git pullবনাম git rebase। কোন বিকল্পটি কখন ব্যবহার করতে হবে তা উদাহরণ দিতে পারে যেহেতু আমার কাছে মনে হয় যে উভয়ই একই উদ্দেশ্যে কাজ করে।
উত্তর:
git pullএবং git rebaseবিনিময়যোগ্য নয়, তবে তারা ঘনিষ্ঠভাবে সংযুক্ত।
git pullরিমোট থেকে বর্তমান শাখার সর্বশেষ পরিবর্তনগুলি নিয়ে আসে এবং সেই পরিবর্তনগুলি আপনার শাখার স্থানীয় অনুলিপিতে প্রয়োগ করে। সাধারণত এটি মার্জ করেই করা হয়, অর্থাৎ স্থানীয় পরিবর্তনগুলি দূরবর্তী পরিবর্তনের সাথে একীভূত হয়। সুতরাং git pullঅনুরূপ git fetch & git merge।
রিবেসিং একত্রীকরণের বিকল্প। দুটি শাখা একত্রিত করে একটি নতুন প্রতিশ্রুতি তৈরির পরিবর্তে, এটি অন্য শাখার একটির অন্যটির উপরের চলাচলকে সরিয়ে দেয়।
আপনি মার্জ ( git pull --rebase) পরিবর্তে রিবেস ব্যবহার করে টানতে পারেন । আপনার করা স্থানীয় পরিবর্তনগুলি রিমোট পরিবর্তনগুলির সাথে একত্রীকরণের পরিবর্তে দূরবর্তী পরিবর্তনের শীর্ষে পুনর্বাসিত হবে।
আটলশিয়ানের বিরুদ্ধে বনাম পুনর্বিবেচনা সম্পর্কে দুর্দান্ত কিছু ডকুমেন্টেশন রয়েছে ।
গিট টান - অন্য সংগ্রহস্থল বা স্থানীয় শাখা জিআইটি পুলের সাথে আনুন এবং সংহত করুন
মূলত আপনি আপনার স্থানীয় থেকে দূরবর্তী শাখা টানছেন, উদাহরণস্বরূপ:
git pull origin master
আপনার স্থানীয় সংগ্রহস্থলে মাস্টার শাখা টানবে
গিট-রিবেস - ফরোয়ার্ড-বন্দর স্থানীয় আপডেট করা প্রবাহের প্রধান জিআইটি রিবাসে সম্মতি দেয়
অন্যান্য ব্যবহারকারীদের দ্বারা দূরবর্তীভাবে করা পরিবর্তনগুলির উপরে এটি আপনার স্থানীয় পরিবর্তনগুলি রাখছে। উদাহরণ স্বরূপ:
SOME-FEATUREএখন আপনি তার এবং আপনার স্থানীয় শাখায় আপনার পরিবর্তনগুলি দেখতে চান। সুতরাং আপনি চেকআউট masterশাখা:
git checkout master
তাহলে আপনি টানতে পারেন:
git pull origin master
এবং তারপরে আপনি আপনার শাখায় যান:
git checkout SOME-FEATURE
এবং আপনি masterএটি থেকে সর্বশেষ পরিবর্তনগুলি পেতে এবং আপনার শাখার অঙ্গীকারকে শীর্ষে রাখতে রিবেস করতে পারেন:
git rebase master
আমি আশা করি এটি আপনার জন্য এখন আরও কিছুটা পরিষ্কার।
git fetchতারপরে git rebase origin/master।
সংক্ষেপে :
-> গিট মার্জ: এটি সহজেই আপনার এবং দূরবর্তী পরিবর্তনগুলিকে একীভূত করবে এবং এটি আরও একটি প্রতিশ্রুতিবদ্ধ ইতিহাস রেকর্ড তৈরি করবে
-> গিট রিবেস: এটি আপনার পরিবর্তনগুলি সমস্ত নতুন দূরবর্তী পরিবর্তনের উপরে রাখে এবং পুনর্লিখনের ইতিহাসের ইতিহাসকে পুনর্লিখন করে, তাই আপনার প্রতিশ্রুতিবদ্ধ ইতিহাস গিট সংযোজনের চেয়ে অনেক বেশি পরিষ্কার হবে be রিবেস একটি ধ্বংসাত্মক অপারেশন। এর অর্থ, আপনি যদি এটি সঠিকভাবে প্রয়োগ না করেন তবে আপনি প্রতিশ্রুতিবদ্ধ কাজটি হারাতে পারেন এবং / অথবা অন্যান্য বিকাশকারীর সংগ্রহস্থলগুলির ধারাবাহিকতা ভঙ্গ করতে পারেন।