Bir çekme isteği ile birleştirme geri?
Biri bunu yapmış olamazlar olan bir çekme isteğini kabul ettim. Şimdi kırık bir kod demet birleştirdik. Nasıl bir çekme isteğini geri almak mı? Sadece değişiklikleri birleştirme önce taahhüt dönmek için gidiyordu, ama işleyen bir grup olarak birleştirilmiş fark ettim. Şimdi birleştirme önce günden bu kişi tüm bu haller vardır. Bu nasıl kapatabilirsin?
CEVAP
Grafik işlemek de (gitk veya benzeri bir program ile). Çekme isteğini tamamlar ve kendi tamamlar ve bir taahhüt ederseniz hızlı ileri birleştirme olsaydı da birleştirme. Sen kendi son birleştirme önce taahhüt eder ve bu taahhüt şube reset bulmak zorunda.
Eğer şubenin reflog varsa (birleştirme önce taahhüt bulmak daha da kolay olmalı.)
(Yorum daha fazla bilgi sonra: Edit)
Son (en sağdaki) commit senin yanlış olduğunu düşünüyorumçekme isteği ile birleştirmemavi çizgi burada görülen birleştirilmiş., Soniyitaahhüt siyah çizgi, burada kırmızı işaretli önce olur
Bu taahhüt sıfırlamak, ve ince olmalıdır.
Bunun anlamı, yerel çalışma kopyası bu (örneğin daha kaydedilmemiş işler yok olduğundan emin olduktan sonra, git ile zula):
git checkout master
git reset --hard 7a62674ba3df0853c63539175197a16122a739ef
gitk
Şimdi gerçekten orada işaretledim kayıt üzerinde olduğunuzu ve onun soy çekildi, hiçbiri göreceksiniz.
git push -f origin master
(github uzak origin
- başka adını değiştirmek) olarak adlandırılır.
Şimdi her şey github da bakmak gerekir. Eğer hala depoda olacak haller, ancak herhangi bir şube tarafından erişilebilir, böylece herhangi bir zarar yok. (Ve hala RogerPaladin depo olacak, tabii ki.)
(Bir Github aynı şeyi yapıyor bir şekilde web-sadece belirli olabilir, ama Github ve çekme isteği yönetim sistemi ile çok aşina değilim.)
Noteğer başkası zaten yanlış bir taahhüt ile master yapmış olabilir eğer, o zaman şu anda var, ve gerçekten geri katkıda bulunabilir mi aynı sorun var. yeni ana sürüm için sıfırlamadan önce.
Eğer ki bu oldu, ya da sadece istediğiniz herhangi bir sorunları önlemek için kullanın git revert
komut yerine git reset
döner değişiklikleri ile yeni bir taahhüt yerine ayarı tekrar eski olanıdır. (Bazı insanlar hiç basılmamış dalları ile sıfırlama yapman gerektiğini düşünüyorum.) Bunu yapmak için nasıl bu soruya başka cevaplar bakın.
Gelecek için:
Eğer sadece bazı RogerPaladin şubesinde işleyen istiyorsanız, merge
yerine cherry-pick
kullanmayı düşünün. Ya da ayrı bir dal taşımak RogerPaladin ve yeni bir çekme isteği göndermek için iletişim.
Varsayılan daha farklı bir şube için ç...
Başkası için nasıl bir çekme isteği bi...
Git birleştirme geri?...
Neden git post-çekme için bana sormada...
Nasıl bir çekme isteği Bankası şube de...