2011-06-23 11 views
64

Git kodunu kodlamaktaydım, birleştirme çakışmalarım var. Çatışmaları çözdüm ve "git ekle" yi yaptım. Bu noktada "git rebase --continue" yapmayı unuttum. Kodlamaya devam ettim ve değişiklikler için bir "git taahhüt" yaptım. Şimdi "şube yok" durumundayım ve şimdi "git rebase --continue" yapamıyorum. Bunu nasıl düzeltirim?"git rebase --continue" 'yı unuttun ve "git commit" yazdı. Nasıl düzeltilir?

+1

'git status' ne diyor? – hvgotcodes

+0

# Şu an herhangi bir dalda değil. hiçbir şey yapmamak için (çalışma dizini temiz) – Abhilash

cevap

17

ben de denemek gerekirdi ama bu ne yapardım olduğunu düşünüyorum:

  1. Etiket senin son işlemek (veya bunu kaybetmemeniz için bir yerlere onun SHA1 not): git tag temp
  2. git rebase --abort
  3. Yeniden rebase yapın. Birleştirme işlemini tekrar yapmanız gerekecek. :(
  4. git rebase --continue
  5. git cherry-pick temp

bu sorun sizin temp muhtemelen taahhüt birleştirme kararı ve yeni kodu hem de içerir olmasıdır. O zor olabilir ama bunu denemek ve istiyorum Yani o çalışıp çalışmadığına bakın.

+0

Ya @MatrixFrog'un dediği gibi etiketleyebilir ya da bir yama olarak kaydedebilirsiniz. Sonra rebase iptal et. Repo'nun sorun olmadığını bildiğiniz bir durumda olduğundan emin olmak için durumu kontrol edin ve ardından getirme ve yeniden başlatma işlemlerini başlatın. – yasouser

+6

Bunu yapma. Daha basit/daha temiz bir yol için kirikaza'nın cevabına bakınız. Kiraz seçme ve çatışmaları ikinci kez çözme. – tandrewnichols

+3

@Abhilash Lütfen kirikaza'nın cevabını kabul edin. Ben (tandrewnichols gibi) yaptım ve çok daha kolay bir yol vardı (ve bu cevabın 4 kat fazla olduğu gibi internetin katılıyorum gibi görünüyor). –

125

Sadece git reset --soft HEAD^ yapmak. onun ebeveyne BAŞ taşıdığındaki ama iş ağacını tutar ve dizine birleştirme değişikliği ekler. Eğer daha önce olduğu gibi git rebase --continue ile rebasing devam edebilirsiniz Yani.

+0

Bu tamamen çalıştı ve --soft için bir kullanım bulduğum ilk kez oldu. Nasıl çalıştığını bilmek güzel, teşekkürler! – mmocny

+0

bu harika! –

+9

Bu doğru cevaplar –

İlgili konular