programing

gitdiff를 stdout에 쓰도록 하는 방법은?

bestprogram 2023. 8. 25. 23:48

gitdiff를 stdout에 쓰도록 하는 방법은?

기본적으로git diff모두 인쇄+-stdout에 대한 라인들 그러나 나는 (devian) 기계를 가지고 있다 (ssh를 통해 연결한다).git diff편집자(어느 편집자인지 알 수 없음)로 이동합니다. 계속하려면 눌러야 합니다.

Git 구성을 확인했는데 다음과 같습니다.

$ git config --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=XXX
branch.master.remote=origin
branch.master.merge=refs/heads/master
$ git config --global --list
user.name=XXX
user.email=XXX@XXX
color.ui=false
difftool.prompt=false
mergetool.prompt=false
$ git config --system --list
'/etc/gitconfig': No such file or directory

제가 빠진 곳이 있나요?알 수 없는 도구가 기계에 뭔가가 없어서 폴백인가 뭔가가 아닐까요?어떤 도움이든 감사합니다.감사해요.

기본적으로 Git는 한 번에 하나의 화면 가득 출력만 인쇄하는 유틸리티인 시스템의 호출기로 diff 출력(일반적으로 화면 가득 출력보다 클 수 있는 모든 출력)을 보냅니다.명령을 실행할 때 호출기를 비활성화하려면 다음 명령을 전달합니다.--no-pagerGit:

$ git --no-pager <subcommand> <options>

모든 Git 명령에 대해 실행할 수 있습니다.

기본적으로 diff 전용으로 비활성화하려면 diff 호출기를cat실행:

$ git config pager.diff false

모든 명령에 대해 기본적으로 실행 중지하려면 Git 호출기를cat실행:

$ git config --global core.pager cat

다음과 같은 것들core.pager가치 사용lessstdout으로 인쇄하고 호출기 기능(필요한 경우)도 있어 위/아래로 스크롤할 수 있습니다(와 달리).cat):

$ git config --global core.pager "less -FRSX"

첫 화면에 차이가 발생하면 즉시 종료됩니다(-F), 원시 제어 문자(-R), 포장 대신 긴 줄을 자릅니다(-S) 및 termcap init/deinit 문자열(-X).

또한 간단히 사용할 수 있습니다.cat어떤 경우에도git색상에 대해 신경 쓰지 않으면 명령합니다.

그렇게git diff | cat당신의 경우를 위하여.

편집: 댓글에서 지적한 대로 색상에 관심이 있는 경우 다음을 사용합니다.

git diff --color | cat

@mipadi가 지적했듯이, 이것은 간단합니다.

git --no-pager diff

언급URL : https://stackoverflow.com/questions/17077973/how-to-make-git-diff-write-to-stdout