সংক্ষিপ্ত উত্তর
আপনি যদি নিম্নলিখিত কমান্ডগুলির আরও বিশদ ব্যাখ্যা চান, তবে পরবর্তী বিভাগে দীর্ঘ উত্তরগুলি দেখুন।
রিমোট শাখা মোছা হচ্ছে
git push origin --delete <branch> # Git version 1.7.0 or newer
git push origin -d <branch> # Shorter version (Git 1.7.0 or newer)
git push origin :<branch> # Git versions older than 1.7.0
একটি স্থানীয় শাখা মুছে ফেলা হচ্ছে
git branch --delete <branch>
git branch -d <branch> # Shorter version
git branch -D <branch> # Force-delete un-merged branches
স্থানীয় রিমোট-ট্র্যাকিং শাখা মোছা হচ্ছে
git branch --delete --remotes <remote>/<branch>
git branch -dr <remote>/<branch> # Shorter
git fetch <remote> --prune # Delete multiple obsolete remote-tracking branches
git fetch <remote> -p # Shorter
দীর্ঘ উত্তর আছে: মুছে ফেলতে তিনটি ভিন্ন শাখা!
আপনি যখন স্থানীয়ভাবে এবং দূরবর্তীভাবে শাখাগুলি মুছে ফেলার বিষয়ে আলোচনা করছেন তখন মনে রাখবেন যে এখানে তিনটি পৃথক শাখা জড়িত রয়েছে :
- স্থানীয় শাখা
X
।
- দূরবর্তী উত্স শাখা
X
।
- স্থানীয় রিমোট-ট্র্যাকিং শাখা
origin/X
যা দূরবর্তী শাখাকে ট্র্যাক করে X
।
আসল পোস্টার ব্যবহৃত:
git branch -rd origin/bugfix
কোনটি কেবল মোছা স্থানীয় দূরবর্তী-ট্র্যাকিং শাখা origin/bugfix
, এবং প্রকৃত দূরবর্তী শাখা bugfix
উপর origin
।
প্রকৃত দূরবর্তী শাখাটি মুছতে আপনার প্রয়োজন
git push origin --delete bugfix
অতিরিক্ত তথ্য
আপনার দূরবর্তী এবং দূরবর্তী ট্র্যাকিং শাখাগুলি মোছার সময় নিম্নলিখিত বিভাগগুলি অতিরিক্ত বিশদ বর্ণনা করে।
দূরবর্তী শাখাগুলি মুছে ফেলতে জোর করা দূরবর্তী ট্র্যাকিং শাখাগুলিও সরিয়ে দেয়
নোট করুন যে X
কমান্ড লাইন থেকে দূরবর্তী শাখাটি মুছে ফেলা git push
স্থানীয় রিমোট-ট্র্যাকিং শাখাও সরিয়ে ফেলবে origin/X
, তাই অপ্রচলিত দূরবর্তী-ট্র্যাকিং শাখার সাথে git fetch --prune
বা ছাঁটাই করা প্রয়োজন হয় না git fetch -p
। তবে যাইহোক এটি করে দিলে ক্ষতি হবে না।
আপনি যাচাই করতে পারেন যে রিমোট-ট্র্যাকিং শাখাটিও origin/X
নিম্নলিখিত চালনা করে মুছে ফেলা হয়েছিল:
# View just remote-tracking branches
git branch --remotes
git branch -r
# View both strictly local as well as remote-tracking branches
git branch --all
git branch -a
অপ্রচলিত স্থানীয় দূরবর্তী ট্র্যাকিং শাখার উত্স / এক্স ছাঁটাই করা
আপনি যদি X
কমান্ড লাইন থেকে উপরের শাখাটি মুছে ফেলেন না (উপরে যেমন) তবে আপনার স্থানীয় সংগ্রহশালায় এখনও (একটি অপ্রচলিত) রিমোট-ট্র্যাকিং শাখা থাকবে origin/X
। উদাহরণস্বরূপ, আপনি যদি গিটহাবের ওয়েব ইন্টারফেসের মাধ্যমে সরাসরি কোনও দূরবর্তী শাখা মুছে ফেলেন তবে এটি ঘটতে পারে।
এই অপ্রচলিত দূরবর্তী-ট্র্যাকিং শাখাগুলি মুছে ফেলার একটি সাধারণ উপায় (যেহেতু গিট সংস্করণ 1.6.6) কেবল বা সংক্ষিপ্তর git fetch
সাথে চালানো । দ্রষ্টব্য যে এটি দূরবর্তীতে আর বিদ্যমান নেই এমন দূরবর্তী শাখাগুলির জন্য সমস্ত অপ্রচলিত স্থানীয় দূরবর্তী ট্র্যাকিং শাখাগুলি সরিয়ে দেয় :--prune
-p
git fetch origin --prune
git fetch origin -p # Shorter
এখানে 1.6.6 রিলিজ নোট (জোর খনি) থেকে প্রাসঙ্গিক উদ্ধৃতিটি দেওয়া হয়েছে:
"গিট ফেচ" শিখেছি --all
এবং --multiple
বিকল্পগুলি, অনেক সংগ্রহস্থল থেকে আনার জন্য চালানো, এবং --prune
বাসি হয়ে যাওয়া দূরবর্তী ট্র্যাকিং শাখাগুলি সরানোর বিকল্প। এগুলি "গিট রিমোট আপডেট" এবং "গিট রিমোট প্রুন" কম প্রয়োজনীয় করে তোলে (যদিও "রিমোট আপডেট" বা "রিমোট প্রুন" অপসারণের কোনও পরিকল্পনা নেই)।
অপ্রচলিত দূরবর্তী-ট্র্যাকিং শাখার জন্য উপরে স্বয়ংক্রিয় ছাঁটাইয়ের বিকল্প
অন্যথা, পরিবর্তে মাধ্যমে আপনার অপ্রচলিত স্থানীয় দূরবর্তী-ট্র্যাকিং শাখা গাছ ছাঁটাই এর git fetch -p
, আপনি অতিরিক্ত নেটওয়ার্ক অপারেশন উপার্জন এড়াতে পারেন শুধু নিজে সঙ্গে শাখা (গুলি) সরিয়ে --remote
বা -r
পতাকার:
git branch --delete --remotes origin/X
git branch -dr origin/X # Shorter
আরো দেখুন