paint-brush
Git'te Uzaktan Kumandadan Taahhütler Nasıl Silinir?ile@timmouskhelichvili
310,078 okumalar
310,078 okumalar

Git'te Uzaktan Kumandadan Taahhütler Nasıl Silinir?

ile Tim Mouskhelichvili2m2022/05/31
Read on Terminal Reader
Read this story w/o Javascript

Çok uzun; Okumak

Taahhütleri uzaktan silmek için, taahhütleriniz üstten ardışıksa git reset komutunu veya aksi takdirde etkileşimli bir yeniden tabanı kullanabilirsiniz. Taahhütleri yerel olarak sildikten sonra, git Push komutunu ve Force seçeneğini kullanarak bu değişiklikleri uzaktan kumandaya gönderin.
featured image - Git'te Uzaktan Kumandadan Taahhütler Nasıl Silinir?
Tim Mouskhelichvili HackerNoon profile picture
0-item
1-item

Git ile düzenli olarak çalışan geliştiriciler için geçmişi değiştirmek çok yaygındır. Aslında geliştiricilerin genellikle Git geçmişinden taahhütleri kaldırması gerekir. Neyse ki Git bu işlemi mümkün kılmak için birçok komut sağlıyor.


Gelelim konuya 😎.

Adım 0 - Hazırlık

Git geçmişini değiştirmeden önce git status komutunu kullanarak çalışma dizininizin herhangi bir değişiklikten temiz olduğundan emin olun.

Adım 1 – Taahhütleri yerel olarak silin

Uzak bir sunucudaki taahhütleri silmek için öncelikle bunları yerel geçmişinizden kaldırmanız gerekir.

1.1 Üstten ardışık taahhütler için

Kaldırmak istediğiniz taahhütler taahhüt geçmişinizin en üstüne yerleştirilmişse, HEAD nesnesi ve kaldırmak istediğiniz taahhütlerin sayısıyla birlikte git reset --hard komutunu kullanın.


 git reset --hard HEAD~1

Bu komut en son taahhüdü kaldıracaktır.


 git reset --hard HEAD~3

Bu komut son üç işlemi kaldıracaktır.


Ayrıca, bir taahhüdün karmasını kullanarak belirli bir taahhüdü kaldırabilirsiniz:

 git reset --hard <hash>

1.2 Ardışık olmayan taahhütler için

Ancak ardışık olmayan taahhütleri kaldırmak istiyorsanız etkileşimli bir yeniden taban kullanmanız gerekir.


  • [ ] git reflog komutunu kullanarak kaldırmak istediğiniz tüm taahhütleri içeren son taahhüt karmasını bulun.
  • [ ] git rebase -i <hash> ile etkileşimli bir yeniden temel başlatın.
  • [ ] Düzenleme ekranında kaldırmak istediğiniz taahhüt satırlarını bulun ve kaldırın.
  • [ ] Kaydet ve çık (çatışmaları çözmeniz gerekebilir)
  • [ ] Etkileşimli yeniden tabanı git rebase --continue ile sonlandırın veya rebase'i iptal ederek baştan başlayın.

Adım 2 - Uzaktan kumandadan taahhütleri silin

Taahhütleri uzaktan silmek için, yerel değişikliklerinizi git Push komutunu kullanarak uzaktan kumandaya aktarmanız gerekir.


 git push origin HEAD --force


Yerel geçmişiniz uzak geçmişten farklı olduğu için force seçeneğini kullanmanız gerekir.

Son düşünceler

Gördüğünüz gibi Git uzak bir sunucudaki taahhütlerin silinmesini kolaylaştırıyor.


Ancak git push komutunu force seçeneğiyle birlikte kullanırken dikkatli olmanız gerekir çünkü dikkatli olmazsanız ilerlemeyi kaybedebilirsiniz.


Okuduğunuz için teşekkürler!