패치를 적용 할 때 충돌을 해결할 수있는 방법이 있습니까?
나는 창문에 있습니다.
여러 가지 이유로 우리는 다른 svn 브랜치의 git 인스턴스를 여러 개 가지고 있습니다.
여러 번 리포지토리 A에서 문제를 해결하고 패치를 생성하여 리포지토리 B에 적용하려고합니다. 충돌이있는 경우를 제외하고는 제대로 작동합니다.
rebasing 할 때 폴더를 마우스 오른쪽 버튼으로 클릭하고 tortioseGit을 사용하고 resolve 옵션을 선택하십시오. 이것은 내 갈등을 해결할 수있는 멋진 GUI를 불러옵니다.
거부 된 패치 청크로이를 수행 할 수있는 방법이 있습니까?
패치를 작성 / 적용하는 현재 접근 방식은 다음과 같습니다.
git format-patch master --stdout > c:\\patch\\file.patch
git apply --reject --ignore-space-change --ignore-whitespace c:\\patch\\file.patch
패치를 생성하려면 다음을 수행하십시오.
git format-patch --stdout first_commit^..last_commit > changes.patch
이제 패치를 적용 할 준비가되면 다음을 수행하십시오.
git am -3 < changes.patch
는 -3
충돌이 발생하는 경우 삼원 병합을 할 것입니다. 이 시점에서 당신은 할 수 있습니다 git mergetool
당신이 GUI로 이동하거나 수동으로 (표준 정력을 사용하여 파일을 병합 할 경우 <<<<<<
, ||||||
, >>>>>>
갈등 해결을).
패치, 리베이스 또는 병합을 적용 할 때 동일한 충돌 세트가 자주 발생하는 경우 git rerere (기록 된 해상도 재사용) 기능을 사용할 수 있습니다. 이를 통해 과거에 해결 된 방법에 따라 충돌 해결 방법을 미리 정의 할 수 있습니다. 작동 방식에 대한 자세한 내용은 http://git-scm.com/blog/2010/03/08/rerere.html 을 참조하십시오 .
TortoiseGit에는 패치 파일을 열 수있는 병합 기능이 있습니다.
여기 사진이 있습니다 .
내 접근 방식은 다음과 같습니다
- 파일이 동일한 "통합"브랜치를 작성하십시오.
- 이 통합 지점에 패치를 적용하십시오
- 마스터로 병합 또는 리베이스 (추가 패치를 적용 할 때 어떤 일이 발생하는지 알 수 없으므로 여기에서 리베이스가 유용한 지 모르겠습니다)
'program tip' 카테고리의 다른 글
Android의 키오스크 모드 (0) | 2020.08.02 |
---|---|
“_”(밑줄)이“-”(하이픈)과 일치하는 이유는 무엇입니까? (0) | 2020.07.30 |
상수 포인터 대 상수에 대한 포인터 (0) | 2020.07.30 |
Visual Studio 2005/2012 : 첫 번째 중괄호를 같은 줄에 유지하는 방법? (0) | 2020.07.30 |
선택적 변수 인쇄 (0) | 2020.07.30 |