kısa cevaplar
Aşağıdaki komutlarla ilgili daha ayrıntılı açıklamalar istiyorsanız, bir sonraki bölümde verilen uzun yanıtlara bakın.
Uzak bir dalı silme
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
Yerel bir şubeyi silme
git branch --delete <branch>
git branch -d <branch> # Shorter version
git branch -D <branch> # Force-delete un-merged branches
Yerel bir uzaktan izleme şubesini silme
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
Uzun cevabı : silmek için üç farklı dallar vardır!
Hem yerel hem de uzaktan şubeleri silmekle uğraşırken , üç farklı şubenin bulunduğunu unutmayın :
- Yerel şube
X
.
- Uzak kaynak dalı
X
.
origin/X
Uzak dalı izleyen yerel uzaktan izleme dalı X
.
Kullanılan orijinal poster:
git branch -rd origin/bugfix
Hangi sadece onun silinen yerel uzaktan izleme dalı origin/bugfix
değil, gerçek uzaktan şube bugfix
üzerinde origin
.
Bu gerçek uzak dalı silmek için ,
git push origin --delete bugfix
Ek detaylar
Aşağıdaki bölümlerde, uzaktan ve uzaktan izleme dallarınızı silerken dikkate almanız gereken ek ayrıntılar açıklanmaktadır.
Uzak dalları silmek için bastırmak da uzaktan izleme kollarını kaldırır
Uzak dalın X
komut satırından bir komut satırı kullanılarak git push
silinmesinin yerel uzaktan izleme dalını da kaldıracağını unutmayın origin/X
, bu nedenle kullanılmayan uzaktan izleme dalını git fetch --prune
veya ile ayarlamak gerekmez git fetch -p
. Ancak, yine de yaparsanız zarar vermez.
origin/X
Aşağıdakileri çalıştırarak uzaktan izleme şubesinin de silindiğini doğrulayabilirsiniz:
# 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
Eski yerel uzaktan izleme dalının kökeni budama / X
Uzak dalınızı X
komut satırından (yukarıdaki gibi) silmediyseniz, yerel deponuz hala (artık kullanılmayan) bir uzaktan izleme dalı içerecektir origin/X
. Bu, örneğin uzak bir dalı doğrudan GitHub'ın web arayüzü üzerinden sildiğinizde olabilir.
Bu eskimiş uzaktan izleme dalları uzaklaştırmak için tipik bir yolu basitçe çalıştırmak için (Git sürüm 1.6.6 beri) olduğu git fetch
ile --prune
veya daha kısa -p
. Bu işlemin artık uzaktan kumandada bulunmayan uzak dallar için tüm eski yerel uzaktan izleme dallarını kaldırdığını unutmayın :
git fetch origin --prune
git fetch origin -p # Shorter
1.6.6 sürüm notlarından (vurgu mayın) ilgili alıntı :
"git fetch" öğrendim --all
ve --multiple
seçenekler, birçok depolardan getirme çalıştırmak ve --prune
bayat gitti uzaktan izleme dallarını kaldırma seçeneği. Bunlar "git remote update" ve "git remote erik" i daha az gerekli kılar (gerçi "remote update" ne de "remote erik" seçiminin bir planı yoktur).
Eski uzaktan izleme dalları için yukarıdaki otomatik budamaya alternatif
Alternatif olarak, yerine yoluyla eski yerel uzaktan izleme dalları budama git fetch -p
, fazladan ağ işlemi yapma önleyebilirsiniz sadece manuel ile şube (ler) kaldırarak --remote
veya -r
bayrakların:
git branch --delete --remotes origin/X
git branch -dr origin/X # Shorter
Ayrıca bakınız