가이드로 ” Vimdiff와 함께 Git Diffgit diff
“를 사용하여 vimdiff로 래핑하도록 설정 했으며 , 변경 사항이 많은 파일이 없으면 예상대로 작동합니다.
변경 사항이있는 여러 파일이 있고 내가 실행 git diff
하면 첫 번째 파일이 열리고 vimdiff의 첫 번째 인스턴스를 종료 한 후 다음 메시지가 표시됩니다.
external diff died, stopping at filename
이것은 내가 익숙한 것과 완전히 다른 행동입니다. SVN을 사용하여 과거에 비슷한 설정을했고 여러 파일을 비교할 때 첫 번째 파일을 검토 :wq
한 다음 사용 하고 쓰고 종료 하고 차이가있는 다음 파일을 열었습니다.
Git의 경우에는 그렇지 않습니다. 나는 시도 :n[ext]
했지만 그렇게하면 수정 된 버전과 비교할 수 있도록 왼쪽 창을 원본 파일로 채우지 않습니다.
답변
git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool
입력 git d
하면 예상되는 동작이 :wq
되며 vim을 입력 하면 변경 세트의 다음 파일로 순환합니다.
답변
시도해 볼 수 있습니다 git difftool
.이 작업을 수행하도록 설계되었습니다.
먼저, diff 도구를 vimdiff로 구성해야합니다.
git config diff.tool vimdiff
그런 다음 diff를 원할 경우 git difftool
대신을 사용하십시오 git diff
. 예상대로 작동합니다.
답변
Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool.
git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge
답변
git에없는 다른 diff 도구를 사용하려는 사람들은로 말하십시오 nvim
. 여기에 내가 사용한 것이 있습니다 :
git config --global alias.d difftool -x <tool name>
내 경우에는 내가 설정 <tool name>
을 nvim -d
하고 diff 명령이있는 Invoke
git d <file>