programing

SourceTree/git에서 상호작용(시각적)으로 충돌을 해결하는 방법

mailnote 2023. 9. 8. 21:39
반응형

SourceTree/git에서 상호작용(시각적)으로 충돌을 해결하는 방법

git 프로젝트에 (Windows) SourceTree를 사용하고 있습니다.명령 프롬프트나 리눅스 단말기에서 할 수 있습니다.

하지만 갈등을 상호작용적으로 시각적으로 해결할 수 있는 좋은 방법이 있는지 궁금합니다.예를 들어 pull이 충돌을 감지하는 경우 GUI 기반 충돌 도구(예: P4Merge)를 팝업합니다.가능합니까?

나는 항상 수동적인 갈등 해결을 하고 있는데, 그것은 고통스러울 뿐입니다.

이것은 예를 들어, 깃(git)입니다.pullSourceTree에서 보낸 메시지입니다.

git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
 * branch            master     -> FETCH_HEAD   

Updating 33c07bf..41e0249

error: Your local changes to the following files would be overwritten by merge:
    foo.cpp
    goo.cpp
    goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting    

Completed with errors, see above.

SourceTree에서 Tools -> Options를 클릭합니다.그런 다음 "일반" 탭에서 SourceTree가 Git 구성 파일을 수정할 수 있도록 확인란을 선택해야 합니다.

그런 다음 "Diff" 탭으로 전환합니다.아래쪽에서 드롭다운을 사용하여 diff 및 merging에 사용할 외부 프로그램을 선택합니다.는 KDiff3를 설치해보았는데 충분히 마음에 듭니다.완료했으면 확인을 클릭합니다.

이제 병합이 있을 때 작업->충돌 해결->외부 병합 도구 실행 아래로 이동할 수 있습니다.

저는 매우 쉽고 편리한 diff/merge tool인 Tortoor Merge/Diff와 함께 SourceTree를 사용하고 있습니다.

만약 당신도 그것을 사용하고 싶다면, 다음과 같이 하십시오.

  1. Tortoi Merge/Diff(Tortoi Merge/Diff)의 독립 실행형 버전 가져오기(Tortoi 1.6.7 버전 이후로 독립 실행형으로 배송되지 않으므로 오래됨)SVN, 2011년 7월 이후). 답변의 링크세부 정보.

  2. 압축 풀기TortoiseIDiff.exe그리고.TortoiseMerge.exe임의 폴더에()c:\Program Files (x86)\Atlassian\SourceTree\extras\내 경우에는).

  3. 원본 트리에서 열기Tools > Options > Diff > External Diff / Merge.선택한다.TortoiseMerge두 드롭다운 목록에서.

  4. 히트OKSourceTree를 당신의 위치로 가리킵니다.TortoiseIDiff.exe그리고.TortoiseMerge.exe.

그 다음에 다음을 선택할 수 있습니다.Resolve Conflicts > Launch External Merge Tool로컬 저장소에 있는 각 충돌 파일의 컨텍스트 메뉴에서.이렇게 하면 거북이 병합이 가능해져 모든 갈등에 쉽게 대처할 수 있습니다.작업이 완료되면 Tortrough Merge를 닫기만 하면 됩니다(변경 내용을 저장할 필요도 없으며 자동으로 수행될 수도 있습니다). 몇 초 후에는 SourceTree에서 이를 정상적으로 처리합니다.

유일한 문제는 적절한 옵션을 선택 취소하더라도 백업 복사본을 자동으로 생성한다는 점입니다.

충돌 해결->내용 메뉴가 비활성화된 경우 보류 중인 파일 목록에 하나가 있을 수 있습니다.드롭다운(위)에서 충돌 파일 옵션을 선택해야 합니다.

도움이 되기를 바랍니다

언급URL : https://stackoverflow.com/questions/16800280/how-to-interactively-visually-resolve-conflicts-in-sourcetree-git

반응형