git difftool 용 만화경


18

git difftool두 가지를 비교 하기 위해 만화경을 사용해 보았습니다 .

그래서 ksdiff를 설치 하고 다음과 같이 설정했습니다..gitconfig

 [diff]
     tool = kaleidoscope
 [difftool "kaleidoscope"]
     cmd = ksdiff --changeset $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED")

달릴 때

git difftool myBranch otherBranch 

오류가 발생합니다 cannot use duplicate files within the same file list

답변:


36

구성 방법을 찾았습니다. Kaleidoscope 메뉴 아래 Kaleidoscope 자체 에는 여러 버전 관리 솔루션의 구성 창을 여는 통합 이라는 링크가 있습니다.

만화경 "통합"구성 창

ksdiff를 설치 한 후 구성 버튼을 클릭하면 .gitconfig파일에 다음 줄이 추가 됩니다.

[diff]
    tool = Kaleidoscope
[difftool "Kaleidoscope"]
  cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = Kaleidoscope
[mergetool "Kaleidoscope"]
  cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
  trustExitCode = true

다음 명령을 실행하면 각기 다른 파일이 연속적으로 열립니다.

git difftool myBranch otherBranch  -y -t Kaleidoscope

-

노트:

  • -y각 파일의 difftool에 Kaleidoscope를 사용할지 묻는 메시지를 표시하지 않습니다. 기본 답변은 "예"입니다.
  • -t Kaleidoscope기본 difftool이 이미 파일에 설정되어 있으므로 여기 Kaleidoscope에서 선택 사항 .gitconfig입니다.

1
내 경우에는 또한에 추가 [merge] tool = Kaleidoscope해야했습니다 .gitconfig.
stigi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.