ile çakışma çözünürlüğünü yeniden kullanma Git'e, çakışmayı geçerli bir birleştirme işleminden yeniden kullanmasını söyleyebilir miyim? Teslim sırasında tekrar devre dışı kaldım. Yeni birleştirme işlemi, birleştirme işleminin "bizim" tarafındaki birkaç ek taahhüt içeriyor (ancak farklı bir dosya kümesini değiştirdiklerinde yeni çakışmalar getirmemeleri gerekiyor).Git
Örneğin aşağıdaki DAG atın:
m [master] Add new stuff
*
| o [old-master] Merge branch A (conflicts)
|/a [branch A]
n *
* *
*/
*
Peki ne yapmak istiyorum dalı old-master
içine kaydedilmesini m
ve m^
getirmektir (ve daha sonra yeni ana emin olun). master
'u old-master
içine birleştirmek istemiyorum, çünkü yeni bir birleştirme işlemi oluşturacaktır (çakışma olmadan da olsa). o
'u m
ve a
ebeveynleri olarak yeniden oluşturmayı istiyorum.
yeni DAG gibi görünmelidir:
p [old-master] Merge branch A (same conflict resolution as old commit o)
/|
m | [master] Add new stuff
* |
| a [branch A]
n *
* *
*/
*
I (o
) işlemek mevcut birleştirme kararı kaydetmek için sonradan söyleyebilir, rerere kullanmaktan çekinmezler.
ve o çatışmaları ile ne yaptığını şimdi bu rerere gördü @ jillill: Bence diğer soru aynı şeyi başarmayı denemiyor. Birleşmeyi çatışmalarıyla yeniden yapmıyorlar, daha sonra gelen bir birleşmeyi yeniden yapıyorlar (ve çatışmaları yoktu). – knittl
Evet, ama n 'yeni bir taahhütle' n 'yerine yeni bir taahhütle değiştirmek istiyorum ama aynı uyuşmazlık çözümüne sahip (' o 've 'P' benim ASCII DAG'larım) – knittl
Çökme için özür dilerim Kendi kodumu yanlış okuduktan sonra ön tarafa iyi bakmadığı için ödedim. [Orada neler olup bittiği şimdi açık mı?] (Http://stackoverflow.com/a/21952372/1290731) Ancak, rerere bir seçenek olduğunda rerere'yi açmak ve önceki çözünürlüğü yeniden yapmak oldukça net bir şekilde daha iyi. – jthill