গিট পুল ভার্জ গিট রিবেস


123

আমি গীত একটি noob, এবং এর মধ্যে পার্থক্য শিখতে চেষ্টা git pullবনাম git rebase। কোন বিকল্পটি কখন ব্যবহার করতে হবে তা উদাহরণ দিতে পারে যেহেতু আমার কাছে মনে হয় যে উভয়ই একই উদ্দেশ্যে কাজ করে।


হ্যা, আমি করেছিলাম. টান এবং রিবেসের মধ্যে পার্থক্য হ'ল টানটি একত্রিত করে। সুতরাং আপনার প্রশ্নের উত্তরটি আমি আটকানো লিঙ্কটিতে।
থিবল্ট ডি

1
@ user4943236 1) আপনি জানেন না কে আপনার প্রশ্নকে হ্রাস করেছে, অকারণে লোককে দোষারোপ করবেন না 2) এটি যদি আমার ডাউনটোট হয় তবে আমি এটিকে সরাতে পারব না কারণ পড়ার মাধ্যমে উত্তর পাওয়া খুব সহজ is ডকুমেন্টেশন
টিম


এটা কি তোমার প্রশ্নের উত্তর? গিট টান ভি এস গিট আনতে
ভীস

উত্তর:


129

git pullএবং git rebaseবিনিময়যোগ্য নয়, তবে তারা ঘনিষ্ঠভাবে সংযুক্ত।

git pullরিমোট থেকে বর্তমান শাখার সর্বশেষ পরিবর্তনগুলি নিয়ে আসে এবং সেই পরিবর্তনগুলি আপনার শাখার স্থানীয় অনুলিপিতে প্রয়োগ করে। সাধারণত এটি মার্জ করেই করা হয়, অর্থাৎ স্থানীয় পরিবর্তনগুলি দূরবর্তী পরিবর্তনের সাথে একীভূত হয়। সুতরাং git pullঅনুরূপ git fetch & git merge

রিবেসিং একত্রীকরণের বিকল্প। দুটি শাখা একত্রিত করে একটি নতুন প্রতিশ্রুতি তৈরির পরিবর্তে, এটি অন্য শাখার একটির অন্যটির উপরের চলাচলকে সরিয়ে দেয়।

আপনি মার্জ ( git pull --rebase) পরিবর্তে রিবেস ব্যবহার করে টানতে পারেন । আপনার করা স্থানীয় পরিবর্তনগুলি রিমোট পরিবর্তনগুলির সাথে একত্রীকরণের পরিবর্তে দূরবর্তী পরিবর্তনের শীর্ষে পুনর্বাসিত হবে।

আটলশিয়ানের বিরুদ্ধে বনাম পুনর্বিবেচনা সম্পর্কে দুর্দান্ত কিছু ডকুমেন্টেশন রয়েছে


51

গিট টান - অন্য সংগ্রহস্থল বা স্থানীয় শাখা জিআইটি পুলের সাথে আনুন এবং সংহত করুন

মূলত আপনি আপনার স্থানীয় থেকে দূরবর্তী শাখা টানছেন, উদাহরণস্বরূপ:

git pull origin master

আপনার স্থানীয় সংগ্রহস্থলে মাস্টার শাখা টানবে

গিট-রিবেস - ফরোয়ার্ড-বন্দর স্থানীয় আপডেট করা প্রবাহের প্রধান জিআইটি রিবাসে সম্মতি দেয়

অন্যান্য ব্যবহারকারীদের দ্বারা দূরবর্তীভাবে করা পরিবর্তনগুলির উপরে এটি আপনার স্থানীয় পরিবর্তনগুলি রাখছে। উদাহরণ স্বরূপ:

  • উদাহরণস্বরূপ আপনি স্থানীয় শাখায় কিছু পরিবর্তন করেছেন SOME-FEATURE
  • এর মধ্যে আপনার বন্ধুটি অন্যান্য বৈশিষ্ট্যগুলিতে কাজ করছিল এবং সে তার শাখাটি মাস্টারের সাথে একীভূত করে

এখন আপনি তার এবং আপনার স্থানীয় শাখায় আপনার পরিবর্তনগুলি দেখতে চান। সুতরাং আপনি চেকআউট masterশাখা:

git checkout master

তাহলে আপনি টানতে পারেন:

git pull origin master

এবং তারপরে আপনি আপনার শাখায় যান:

git checkout SOME-FEATURE

এবং আপনি masterএটি থেকে সর্বশেষ পরিবর্তনগুলি পেতে এবং আপনার শাখার অঙ্গীকারকে শীর্ষে রাখতে রিবেস করতে পারেন:

git rebase master

আমি আশা করি এটি আপনার জন্য এখন আরও কিছুটা পরিষ্কার।


15
আপনার মাস্টার চেকআউট করার দরকার নেই। আপনার শাখায় থাকুন এবং করুন: git fetchতারপরে git rebase origin/master
এন্টোইন মার্টিন

স্থানীয় মাস্টারটি পরীক্ষা করে এবং তারপরে অরিজিনাল মাস্টারটি টানা আপনার স্থানীয় মাস্টারকেও আপডেট করবে। এটি অন্যতম সেরা অনুশীলনটি ব্যবহার করা উচিত
অশনি

20

সংক্ষেপে :

-> গিট মার্জ: এটি সহজেই আপনার এবং দূরবর্তী পরিবর্তনগুলিকে একীভূত করবে এবং এটি আরও একটি প্রতিশ্রুতিবদ্ধ ইতিহাস রেকর্ড তৈরি করবে

-> গিট রিবেস: এটি আপনার পরিবর্তনগুলি সমস্ত নতুন দূরবর্তী পরিবর্তনের উপরে রাখে এবং পুনর্লিখনের ইতিহাসের ইতিহাসকে পুনর্লিখন করে, তাই আপনার প্রতিশ্রুতিবদ্ধ ইতিহাস গিট সংযোজনের চেয়ে অনেক বেশি পরিষ্কার হবে be রিবেস একটি ধ্বংসাত্মক অপারেশন। এর অর্থ, আপনি যদি এটি সঠিকভাবে প্রয়োগ না করেন তবে আপনি প্রতিশ্রুতিবদ্ধ কাজটি হারাতে পারেন এবং / অথবা অন্যান্য বিকাশকারীর সংগ্রহস্থলগুলির ধারাবাহিকতা ভঙ্গ করতে পারেন।

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