Değişikliklerini kullanarak kiraz çekme çakışmalarını nasıl çözebilirim?


110

Benim git cherry-pick FOObir çatışma yarattım.

Ben çakışan dosyalar arasında gidip arasındaki çizgileri silebilir <<<<<<<ve =======, ve çatışma işaretleri kendilerini ama daha kolay bir yolu vardır umut ediyorum.

Sanırım svneşdeğeri theirs-conflictçözmeyi seçiyordu.

Bunu nasıl yapacağım git?

Bunun sadece başvurmak yerine git checkout --theirs <file>aynı sonucu vermesini istemiyorum .git checkout foo <file>git diff FOO~..FOO <file>

Yanıtlar:


196

İlk önce kiraz seçimini geri almalısın, bunu çalıştırmayı dene

git cherry-pick --abort

İkincisi, kiraz toplama yapmayı deneyin, ancak bu sefer onların değişikliklerini siz değilsiniz, bu yüzden şunu yapın:

git cherry-pick --strategy=recursive -X theirs {Imported_Commit}

6
Bu anahtarların ne yaptıkları hakkında biraz daha fazla bilgi stackoverflow.com/questions/2268172/…
antak

27
Tam olarak bu çalıştı: git cherry-pick --strategy=recursive -X theirs 1b92440ve hala çözülmemiş çatışma istenir ediyorum: Unmerged paths: deleted by them: (file path). Herhangi bir fikir?
pilau

Başarısız bir kiraz toplama / birleştirme işleminden sonra sıfırlamanın daha anlaşılır bir yolu kullanmaktırgit reset --merge
Pylinux

10
git cherry-pick --abort- bu, kiraz toplama işlemini geri almak için önerilen bir yoldur.
tommyk

İçinde -Xseçeneğim yok git cherry-pick. git 1.7.2.3.
Frank
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.