Menu
Coddy logo textTech

Git: Yerel bir dal silme

Son güncelleme

Bir dalın işi birleştirildikten sonra, onu git branch -d <branch> ile silersiniz. Dalda hiçbir yere birleştirilmemiş commit'ler varsa Git bunu reddeder - bu bir güvenlik kontrolüdür. Yine de silmek için büyük -D harfini kullanın. Yerel bir dalı silmek uzaktaki kopyaya asla dokunmaz; o ayrı bir komuttur.

Bunları terminal playground'da deneyin - tarayıcınızda gerçek bir kabuk, kurulacak hiçbir şey yok.

git branch -d yalnızca dal göstergesini siler - birleştirilen commitler main geçmişinde kalır.

Söz dizimi

CommandWhat it does
git branch -d featurefeature dalını sil (yalnızca birleştirilmişse)
git branch -D featureBirleştirilmemiş olsa bile feature dalını zorla sil
git branch -d branch1 branch2Birden fazla dalı aynı anda sil

Yaygın durumlar

GoalCommand
Birleştirilmiş bir dalı silgit branch -d old-feature
Birleştirilmemiş bir dalı zorla silgit branch -D scratch
Üzerinde bulunduğunuz dalı silgit switch main ardından git branch -d feature
Hangi dalların birleştirildiğini görgit branch --merged

Uygulamalı örnek

Bir özelliği bitirin, birleştirin ve yerel dalı temizleyin.

StepCommandResult
1git switch mainSilmek istediğiniz daldan çıkın
2git merge featureÖzelliğin commit'lerini main dalına getirin
3git branch -d featureArtık birleştirilmiş olan dalı silin

Git yerel dal silme SSS

git branch -d ile -D arasındaki fark nedir?
-d güvenli silmedir: Git dalı yalnızca commit'leri başka bir dala zaten birleştirilmişse kaldırır, böylece yanlışlıkla iş kaybetmezsiniz. -D zorla silmedir (--delete --force kısaltması): birleştirilmemiş commit'leri olsa bile dalı ne olursa olsun kaldırır. Varsayılan olarak -d kullanın ve yalnızca dalın commit'lerini gerçekten atmak istediğinizden eminseniz -D seçeneğine başvurun.
Şu anda üzerinde bulunduğum dalı nasıl silerim?
Checkout ile açtığınız dalı silemezsiniz. Önce git switch main (veya git checkout main) ile başka bir dala geçin, ardından git branch -d feature çalıştırın. Mevcut dalı silmeyi denerseniz, Git "Cannot delete branch ... checked out" hatası verir.
Yerel bir dalı silmek GitHub'da da siler mi?
Hayır. git branch -d dalı yalnızca yerel deponuzdan kaldırır. Uzaktaki daldaki (GitHub, GitLab vb.) kopya, onu git push origin --delete feature ile ayrıca silene kadar kalır.
Sildiğim bir dalı geri kurtarabilir miyim?
Genellikle evet, yakın zamandaysa. Dalın işaret ettiği commit'i bulmak için git reflog çalıştırın, ardından onu git branch feature <commit-hash> ile yeniden oluşturun. Commit'ler hemen çöp toplanmaz, bu yüzden yanlışlıkla silinen bir dal normalde geri getirilebilir.
Bunu çevrimiçi olarak deneyebilir miyim?
Evet. Bu komutları tarayıcınızda gerçek bir kabukta çalıştırmak için terminal playground'u açın - kurulacak hiçbir şey yok. Yapı istediğinizde, Coddy'nin ücretsiz etkileşimli Git kursu sizi ilk commit'inizden dallanma ve birleştirmeye adım adım götürür.
Coddy programming languages illustration

Coddy ile Git öğren

BAŞLA