[git] vimdiff로 모든`git diffs ‘보기

가이드로 ” 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>


답변