কীভাবে গিট শাখা বন্ধ করবেন?


112

সুতরাং আমি গিট + গিটহাব ব্যবহার শুরু করছি।

আমাদের সামান্য বিতরণকারী দলে, প্রতিটি সদস্য তাদের বরাদ্দকৃত প্রতিটি ইস্যু / প্রয়োজনীয়তার জন্য নিজস্ব শাখা তৈরি করছে।

  1. git branch Issue#1 <-- create this branch
  2. git checkout issue#1 <-- switch over to this branch

এখন code code, commit, code, commit, ইত্যাদি ...

তারপর pull request, code-fixup, commit, code, commit.. ইত্যাদি

এবং শেষ পর্যন্ত ... টানার অনুরোধ গৃহীত হয়েছে।

Woot।

কিন্তু .. এখন কি? (...... বিশ্রী ......)

যে লোকটি তাদের স্থানীয় ডেভ মেশিনে শাখা তৈরি করেছে তার কি শাখা বন্ধ করা দরকার? দেব ব্যক্তির জন্য একটি শাখা delete (... -D ...) মুছে ফেলার জন্য একটি পরামর্শ ছিল এবং তারপরে মাস্টারের একটি টান / রিফ্রেশ করুন .. যা তাদের সমস্ত শাখার কোড পাবে।

হুমমমমম ... নিশ্চিত নয় - দয়া করে সাহায্য করুন :)


16
গিটের একটি শাখা একটি নির্দিষ্ট কমিটের উপর কেবল একটি লেবেল - সুতরাং মূলত, যদি আপনার আর এটির প্রয়োজন না হয় - কেবল "শাখা" মুছে ফেলুন (সেই প্রতিশ্রুতিতে "লেবেল")। স্থানীয়ভাবে, কেবল একটি করুন git branch Issue#1 -dএবং যা কিছু রয়েছে তা - কোনও কোড হারিয়ে যায় না, কেবল আপনার সংগ্রহশালা থেকে একটি লেবেল সরিয়ে দেওয়া হয়
মার্ক_স

1
@মার্ক_স আমি এর থেকে একটি উত্তর দেওয়ার জন্য পরামর্শ দিই :)
কিং ক্রঞ্চ

সুতরাং @মার্ক_স - আপনি বলছেন যে আপনি একবার আপনার শাখাটি ফিনসিড করার পরে স্ট্যান্ডার্ড অনুশীলনটি .. এবং শাখাটি চাপ দেওয়া হয়েছে .. আমরা কি এটি মুছব? মার্জ সম্পর্কে কি?
বিশুদ্ধ.ক্রোম

@ খাঁটি.ক্রোম অন্তত আমি ধরে নিয়েছি, "পুল অনুরোধ গৃহীত হয়েছে" এর অর্থ আপনার অর্থ, এটি ইতিমধ্যে মার্জ হয়ে গেছে। হ্যাঁ, অবশ্যই, মধ্যে পরিবর্তনগুলি একীভূত master, developঅথবা যাই হোক না কেন আপনার উন্নয়ন শাখা (মার্জ রি-বেসের ফলে (স্কোয়াশ ছাড়া / সহ), ...) নামকরণ করা হয়
KingCrunch

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

উত্তর:


181

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

আমার আঙ্গুলগুলি আমাদের প্রক্রিয়া মুখস্থ করেছে:

git checkout <feature-branch>
git pull
git checkout <release-branch>
git pull
git merge --no-ff <feature-branch>
git push
git tag -a branch-<feature-branch> -m "Merge <feature-branch> into <release-branch>"
git push --tags
git branch -d <feature-branch>
git push origin :<feature-branch>

একটি শাখা কাজের জন্য। একটি ট্যাগ সময়ে একটি জায়গা চিহ্নিত করে। প্রতিটি শাখার একত্রীকরণ ট্যাগ করে আমরা একটি শাখার প্রয়োজনে পুনরুত্থিত করতে পারি। শাখার ট্যাগগুলি পরিবর্তনগুলি পর্যালোচনা করতে বেশ কয়েকবার ব্যবহৃত হয়েছে।


8
আমরা আমাদের পদ্ধতিতে সাম্প্রতিক পরিবর্তন করেছি। ব্যবহার git push --tagsভারী হাতে রয়েছে এবং সমস্ত ট্যাগ ডাউনলোড করে। এটি আপনার নিজের নিজস্ব ট্যাগ রাখতে অসুবিধা বোধ করে। পরিবর্তে আমরা git push origin branch-<feature-branch>কেবল একটি ট্যাগ পুশ করতে ব্যবহার করি ।
বিল ডোর

সুতরাং সর্বশেষ লাইনটি আপনাকে বৈশিষ্ট্য শাখার জন্য ট্যাগের নামটি মনে রাখতে হবে, যা আমরা কেবল <feचर- ব্র্যাঙ্ক> এর পরিবর্তে "ব্রাঞ্চ- <feचर- ব্র্যাঞ্চ>" এ সেট করেছি। সঠিক?
প্রিমিয়ার ব্রোমানভ

@ প্রিমিয়ারব্রোমানভ শেষ লাইনটি দূরবর্তী শাখাটি মুছে ফেলার জন্য। ট্যাগটি মনে রাখার জন্য @ বিলডুর ব্যবহার করেছেন git push --tags
Deivide

অসাধারণ লিপি !!
Kike Gamboa

41

হ্যাঁ, কেবল চালিয়ে শাখাটি মুছুন git push origin :branchname। পরে নতুন সমস্যা সমাধানের জন্য, মাস্টার থেকে আবার শাখা বন্ধ করুন।


3
এটি স্থানীয় নয়, দূরবর্তী শাখাটি মুছে ফেলবে।
কিংক্রাঞ্চ

5
আমি জানি না কেন এটি -2 এ পরিবর্তিত হয়েছে, এটি সঠিক উত্তর। তাদের অবশ্যই একটি প্রত্যন্ত শাখা রয়েছে, তারা এর বিপরীতে আর কীভাবে ইস্যু করতে পারে?
আনা বেটস

আপনি যদি এটি করেন এবং তারপরে একটি গিট টান করেন, তবে এটি কি আপনার স্থানীয় শাখাটিও মুছে ফেলবে না? (সম্পাদনা: এনএম, আমি দেখতে পাচ্ছি যে আপনি গিট রিমোট ছাঁটাই না চালালে এটি স্পষ্টভাবে হয় না))
টিম কেটিং

1
শাখার ইতিহাসে কী ঘটে?
জিওএডসিক

40

কোডটি সম্পূর্ণ করার পরে মাস্টার করতে প্রথমে মার্জ শাখাটি সেই শাখাটি মুছুন

git checkout master
git merge <branch-name>
git branch -d <branch-name>

এবং এটি আমার নিজস্ব দেব মেশিনে আছে, তাই না? প্রধান ব্যক্তি যিনি কোনও নতুন কোড গ্রহণ করেন .. তার মেশিনটি অন্য কোথাও।
বিশুদ্ধ.ক্রোম

2
অন্য কেউ যদি মার্জটি করে চলেছে তবে তার কাছে আপনার ব্রাঞ্চ পয়েন্টারটি একটি আলাদা রিমোটে সাধারণত থাকে, যেমন প্রেরক / শাখা-নাম। আপনার git remote prune senderকরার পরেও এ থেকে মুক্তি পেতে তাকে ব্যবহার করতে হবে - যদিও বেশিরভাগ ক্ষেত্রে তার যত্ন নেওয়া প্রয়োজন না।
জর্জেনসেন

1
আপনি আপনার নিজের শাখা একত্রীকরণ কখনও উচিত যদি না আপনি এক প্রধান বৃক্ষ এটা একীভূত জন্য দায়ী। যদি আপনি না হন এবং আপনি অন্য কাউকে এটি সংহত করতে বলেছিলেন, নতুন রিমোট কমিটের সাহায্যে আপনার মাস্টার শাখাটি আপডেট করুন - এতে আপনার টানতে অনুরোধ করা সমস্ত কিছু থাকতে হবে - এবং তারপরে আপনার শাখাটি মুছুন। এটি নিশ্চিত করে যে অন্য লোক যদি জিনিসগুলি পরিবর্তন করে তবে আপনার কোনও সমস্যা হবে না।
চোরমাস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.