기존 병합 커밋에서 충돌 해결을 재사용하도록 Git에 지시 할 수 있습니까? 나는 커밋 할 때 다시 사용할 수 없게했다. 새 병합 커밋에는 병합의 "우리"측면에 대한 몇 가지 추가 커밋이 포함되어 있지만 다른 파일 집합을 수정하면서 새로운 충돌이 발생해서는 안됩니다.Git과의 재사용 충돌 해결
예를 들어, 다음 DAG을 :
m [master] Add new stuff
*
| o [old-master] Merge branch A (conflicts)
|/a [branch A]
n *
* *
*/
*
를 자, 내가 원하는 것은 분기 old-master
에 커밋 m
및 m^
을 가지고 (그리고 나중에 새 마스터 있는지 확인). master
을 old-master
에 병합하고 싶지는 않습니다. 충돌이 없더라도 새로운 병합 커밋을 생성합니다. 부모와 같이 o
을 m
및 a
으로 재 작성하고 싶습니다.
새로운 DAG가 보일 것 같은 :
p [old-master] Merge branch A (same conflict resolution as old commit o)
/|
m | [master] Add new stuff
* |
| a [branch A]
n *
* *
*/
*
내가 (o
를) 커밋 기존 병합의 해상도를 기록 할 나중에 그것을 말할 수 있다면, rerere를 사용하여 상관하지 않습니다.
을
그리고 당신이 그 갈등 무슨 짓을했는지 지금 rerere가 보았다 @ jthill : 저는 다른 질문이 똑같은 것을 성취하려고 시도하지 않는다고 생각합니다. 그들은 충돌로 병합을 다시하지 않고, 나중에 온 병합을 다시하고 있습니다 (충돌이 없었습니다). – knittl
예,하지만 새로운 커밋을 포함하지만 충돌 해결 (ASCII DAG에서'o'와'p')이있는 새로운 커밋 'n'으로 'n'을 대체하고 싶습니다. – knittl
스레 싱에 대해 유감스럽게 생각합니다. 내 자신의 코드를 잘못 읽음으로써 선전을하기에 좋은 댓가를 치렀다. [거기에 무슨 일이 벌어지고 있는지 지금 분명해?] (http://stackoverflow.com/a/21952372/1290731) Rerere를 선택하고 이전 해상도를 다시 실행하는 것이 Rerere가 옵션 인 경우 꽤 분명합니다. – jthill