단일 파일의 병합 다시 실행


112

저는 대규모 병합 git mergetool중이며 모든 충돌을 해결하는 데 사용 했지만 병합이 먼저 정상인지 확인하고 싶었 기 때문에 아직 커밋하지 않았습니다.

한 파일에서 충돌을 해결하는 동안 실수를 저질렀다는 것이 밝혀졌으며 해당 파일에서 충돌 해결을 다시 실행하고 싶습니다 git mergetool. 이것은 큰 병합이므로 다른 모든 파일에서 병합을 다시 실행하지 않으려 고 git merge --abort합니다..

파일을 수동으로 편집 할 수 있다는 것을 알고 있지만 이것은 매우 지루하고 작업을 다시 실행하는 것이 훨씬 쉬울 것 git mergetool입니다. 이게 가능해?


답변:


181

내가 잘못된 곳을 찾고 있었던 것 같습니다. 해결책은 매우 간단합니다.

git checkout -m <file>

그러면 파일이 충돌 상태로 돌아갑니다. 그런 다음 git mergetool병합을 다시 실행할 수 있습니다 .


2
이런 종류의 일이 나를 위해 일했습니다. 인덱스는 병합 된 상태가되었지만 mergetool은 처리되지 않은 병합이 있다고 생각하지 않았습니다. vi를 사용하여 병합을 수행했지만 어쨌든 이상했습니다.
Chris Cleeland

1
감사합니다! 이것이 정확히 필요한 것입니다. 그건 그렇고, 수동으로 vi와 병합하는 것은 항상 즐겁고 완전히 만족 스럽습니다. 왼쪽으로 이동 또는 오른쪽으로 결코로 이동하면 병합이 예상대로려고하고 있다는 것을 나에게 자신감을 준
asgs

1
이 중복 질문의 답변 에는 몇 가지 유용한 추가 세부 정보 (동일한 답변 포함)가 있습니다.
Joshua Goldberg

-4

언제든지 파일을 수동으로 편집 할 수 있습니다.

를 사용하는 경우 git merge --no-commit자동 및 반자동 병합 후 준비된 커밋이 생성됩니다.

파일을 안전하게 편집하고 완전히 만족할 때만 커밋 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.