git আমি কিভাবে স্থানীয়ভাবে এবং দূরবর্তী উভয় একটি গিট শাখা মুছে ফেলতে পারি?





15 Answers

ম্যাথিউ এর উত্তর দূরবর্তী শাখাগুলি সরানোর জন্য দুর্দান্ত এবং আমি ব্যাখ্যাটির প্রশংসা করি, তবে দুটি আদেশগুলির মধ্যে একটি সহজ পার্থক্য তৈরি করতে:

আপনার মেশিন থেকে একটি স্থানীয় শাখা অপসারণ করতে:

git branch -d {the_local_branch} -D git branch -d {the_local_branch} (মার্জড স্থিতি যাচাই না করে শাখা মোছার পরিবর্তে ব্যবহার- -D )

সার্ভার থেকে একটি দূরবর্তী শাখা অপসারণ করতে:

git push origin --delete {the_remote_branch}

রেফারেন্স: https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote

git git-branch git-remote

আমি স্থানীয়ভাবে এবং GitHub এ আমার দূরবর্তী প্রকল্প ফর্ক উভয় একটি শাখা মুছে ফেলতে চান।

রিমোট শাখা মুছতে ব্যর্থ প্রচেষ্টা

$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.

$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found.

$ git branch -rd origin/bugfix
Deleted remote branch origin/bugfix (was 2a14ef7).

$ git push
Everything up-to-date

$ git pull
From github.com:gituser/gitproject
* [new branch] bugfix -> origin/bugfix
Already up-to-date.

আমি স্থানীয়ভাবে এবং GitHub উভয় remotes/origin/bugfix শাখা সফলভাবে মুছে ফেলার জন্য ভিন্নভাবে কি করতে হবে?




একটি শাখা মুছে ফেলার জন্য পদক্ষেপ:

দূরবর্তী শাখা মুছে ফেলার জন্য :

git push origin --delete <your_branch> 

স্থানীয় শাখা মুছে ফেলার জন্য, আপনার তিনটি উপায় রয়েছে:

1: git branch -D <branch_name> 

2: git branch --delete --force <branch_name>  //same as -D

3: git branch --delete  <branch_name>         //error on unmerge

ব্যাখ্যা করুন: ঠিক আছে, শুধু এখানে কি ঘটছে তা ব্যাখ্যা করুন!

শুধু আপনার রিমোট শাখাটি মুছতে কেবলমাত্র git push origin --delete মুছে ফেলুন , শেষে শাখাটির নাম যুক্ত করুন এবং এটি মুছে ফেলবে এবং একই সময়ে এটি দূরবর্তীতে ধাক্কা দেবে ...

এছাড়াও, git branch -D , যা শুধুমাত্র কেবলমাত্র স্থানীয় শাখাটি মুছবে! ...

-D এর জন্য দাঁড়িয়েছে - --delete --force যা শাখাটি মুছবে এমনকি এটি মার্জ করা নেই (ফোর্স মুছুন), তবে আপনি -d যা ব্যবহার করতে পারেন - --delete যা শাখা মার্জ অবস্থা সম্পর্কিত একটি ত্রুটি নিক্ষেপ করতে পারে ...

আমি পদক্ষেপগুলি দেখানোর জন্য নীচের চিত্রটিও তৈরি করেছি:




আপনি যদি কোনও শাখা মুছে ফেলতে চান তবে শাখাটি মুছে ফেলার জন্য শাখার বাইরে চেকআউট করুন।

git checkout other_than_branch_to_be_deleted

স্থানীয় শাখা মোছা হচ্ছে:

git branch -D branch_to_be_deleted

রিমোট শাখা মোছা হচ্ছে:

git push origin --delete branch_to_be_deleted



git branch -D <name-of-branch>
git branch -D -r origin/<name-of-branch>
git push origin :<name-of-branch>



আরেকটি পদ্ধতির

git push --prune origin

সতর্কতা: এটি স্থানীয়ভাবে বিদ্যমান নয় এমন সমস্ত দূরবর্তী শাখা মুছে দেবে। অথবা আরো ব্যাপকভাবে,

git push --mirror

রিমোটরিটির স্থানীয় অনুলিপিের মতো দূরবর্তী রিপোজিটরিটি দেখতে সক্ষম হবে (স্থানীয় মাথা, রিমোট এবং ট্যাগগুলি রিমোটে মিরর করা হয়)।




জানুয়ারী ২013 থেকে, আপনার "শাখাগুলি" পৃষ্ঠায় প্রতিটি শাখার পাশে একটি হিট শাখা বাটন অন্তর্ভুক্ত করুন।

প্রাসঙ্গিক ব্লগ পোস্ট: শাখা তৈরি করুন এবং মুছে দিন




স্থানীয়ভাবে এবং দূরবর্তীভাবে আপনার শাখা মুছে ফেলতে

  • প্রধান শাখা git checkout master - git checkout master

  • আপনার দূরবর্তী শাখা মুছুন - git push origin --delete <branch-name> - git push origin --delete <branch-name>

  • আপনার স্থানীয় শাখা মুছুন - git branch --delete <branch-name> শাখা - git branch --delete <branch-name> মুছে ফেলুন




আপনি git remote prune origin ব্যবহার করেও এটি করতে পারেন:

$ git remote prune origin
Pruning origin
URL: git@example.com/yourrepo.git
 * [pruned] origin/some-branchs

এটি prunes এবং একটি git branch -r তালিকা থেকে দূরবর্তী ট্র্যাকিং শাখা মুছে ফেলা।




শাখা মুছে ফেলা হচ্ছে

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

$ git branch -d contact-form

এবং দূরবর্তী শাখা মুছে ফেলার জন্য:

git push origin --delete contact-form



রিমোট শাখা মুছুন

git push origin :<branchname>

স্থানীয় শাখা মুছে দিন

git branch -D <branchname>

স্থানীয় শাখা পদক্ষেপ মুছে দিন:

  1. অন্য শাখা চেকআউট
  2. স্থানীয় শাখা মুছে দিন



এখন আপনি এটি GitHub ডেস্কটপ অ্যাপ্লিকেশন দিয়ে করতে পারেন।

অ্যাপ চালু করার পর

  1. শাখা ধারণকারী প্রকল্প ক্লিক করুন
  2. আপনি যে শাখাটি মুছতে চান তা স্যুইচ করুন
  3. "শাখা" মেনু থেকে, GitHub সার্ভার থেকে শাখা মুছে ফেলার জন্য, "অপ্রকাশিত করুন ..." নির্বাচন করুন।
  4. "শাখা" মেনু থেকে, আপনার স্থানীয় মেশিনের শাখাটি মুছে ফেলার জন্য ('আপনি বর্তমানে যে মেশিনে কাজ করছেন সেটি উর্দ্ধ করুন) শাখাটি মুছে ফেলতে', 'মুছে দিন' শাখা_নাম "..." নির্বাচন করুন।



git push origin --delete branchName

তুলনায় মনে রাখা সহজ

git push origin :branchName



এই উত্তরটির জন্য আমি গুগলিংয়ের অসুস্থ হয়ে পড়েছিলাম, তাই আমি আগেই পোস্ট করা সিআরজে ক্রাইগ এর উত্তরটিও একইভাবে গ্রহণ করেছি।

আমার বাশ প্রোফাইলে নিম্নলিখিত যোগ করা হয়েছে:

function gitdelete(){
    git push origin --delete $1
    git branch -D $1
}

তারপর প্রত্যেকবার আমি একটি শাখার সাথে সম্পন্ন করেছি (উদাহরণস্বরূপ, master মার্জ) আমি আমার টার্মিনালে নিম্নলিখিতটি চালাচ্ছি:

gitdelete my-branch-name

... যা তারপর স্থানীয়ভাবে পাশাপাশি স্থানীয় থেকে my-branch-name মুছে ফেলা।




git push origin :bugfix  # Deletes remote branch
git branch -d bugfix     # Must delete local branch manually

যদি আপনি নিশ্চিত হন যে আপনি এটি মুছে ফেলতে চান, চালান

git branch -D bugfix

এখন মুছে ফেলা দূরবর্তী শাখা রান পরিষ্কার করা

git remote prune origin



অন্যান্য সব উত্তর ম্যাশআপ। রুবি 1.9.3+ প্রয়োজন, শুধুমাত্র ওএস এক্স এ পরীক্ষিত।

এই ফাইলটি git-remove , এটি কার্যকর করুন এবং আপনার পথে এটি রাখুন। তারপর, উদাহরণস্বরূপ, git remove temp

#!/usr/bin/env ruby
require 'io/console'

if __FILE__ == $0
      branch_name = ARGV[0] if (ARGV[0])
      print "Press Y to force delete local and remote branch #{branch_name}..."
    response = STDIN.getch
    if ['Y', 'y', 'yes'].include?(response)
      puts "\nContinuing."
      `git branch -D #{branch_name}`
      `git branch -D -r origin/#{branch_name}`
      `git push origin --delete #{branch_name}` 
    else
      puts "\nQuitting."
    end
end





Related