Sen zorla github dahil olmak üzere bir uzak git sunucusunda bir şube geçersiz kılabilir: dikkatle
git push -f <server> <good_state>:<target_branch>
kullanın.
Belki de daha kapsamlı açıklamalar gereklidir.
Github üzerinde bir repo aldığınızı varsayalım. Orada repo ediyoruz kaydedilmesini yerel klonu olarak:
A -> B -> C -> D -> E
bir dalı <Branch>
içinde E
, ("kötü" yanlış taahhüt bazı hatalı veya hassas verileri vb içerebilir, (ne olursa olsun master
veya olabilir)). Bu dalı zaten github
'a ittiniz ve hatta bazı "ebeveyn" projelerinde çekme isteği yarattınız.
Her şeyden önce, E taahhüdünün yanlışlıkla birleştirilmesini önlemek için çekme isteğini kaldırın.
Sonra github üzerinde yayınlanan kaydedilmesini gelen E
damla: Hiç <E>
yoktu sanki <D>
taahhüt ile
git push -f github <D>:<Branch>
Şimdi github üzerinde
<Branch>
biter. Artık
git commit --amend
numaralı telefonu yayınlayarak
<E>
'u yerel olarak düzeltebilir veya
git reset --hard <D>
ile bırakabilirsiniz. Hazır olduğunuzda, yeni taahhütleri tekrar zorlayabilir ve PR tekrarlayabilirsiniz.
Bir şeyi değiştirmek ve yeni Çekme İsteği oluşturmak ve mevcut olanı silmek mi istiyorsunuz? – CoDe
Zaten kötü işlem için bir çekme isteği oluşturduysanız, evet, muhtemelen silmeniz gerekir. Ayrıca, önceden belirtilen komutu vererek kişisel depodaki kişisel eşyalarınızdaki kötü taahhütleri de github üzerinde kaldırabilirsiniz. – user3159253
Ancak, açık birleştirilmemiş dalda sahip olduğum değişiklikler. – CoDe