git diff를 stdout에 쓰는 방법은 무엇입니까?
기본적으로 git diff
모든 +-
줄을 stdout에 인쇄 하지만 (ssh를 통해 연결하는) (비안) 기계 git diff
가 있으며 편집기로 연결됩니다 (어떤 것인지 알 수 없음) q. 계속 하려면 눌러야 합니다.
나는 검사기 자식 구성을 가지고 있으며 다음과 같습니다.
$ 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-pager
Git에 전달하십시오.
$ git --no-pager <subcommand> <options>
이것은 모든 Git 명령에 대해 실행할 수 있습니다.
diff에 대해서만 기본적으로 비활성화 하려면 다음 cat
을 실행 하여 diff 호출기를 로 설정할 수 있습니다 .
$ git config pager.diff false
모든 명령에 대해 기본적으로 비활성화 하려면 다음 cat
을 실행 하여 Git 호출기를 로 설정할 수 있습니다 .
$ git config --global core.pager cat
다음 core.pager
값은 less
stdout으로 인쇄하고 페이저 기능 (필요한 경우)을 사용하여 위아래로 스크롤 할 수 있도록합니다 (와 달리 cat
) :
$ git config --global core.pager "less -FRSX"
diff가 첫 번째 화면 ( -F
) 에 맞으면 즉시 종료되고 원시 제어 문자 ( -R
)를 출력하고 줄 바꿈 ( -S
)이 아닌 긴 줄을 자르고 termcap init / deinit 문자열 ( -X
)을 사용하지 않습니다 .
색상에 신경 쓰지 않는다면 cat
어떤 git
명령 에도 간단히 사용할 수 있습니다 .
그래서 git diff | cat
당신의 경우.
편집 : 색상 사용에 관심이 있다면 주석에서 지적한대로 :
git diff --color | cat
참고 URL : https://stackoverflow.com/questions/17077973/how-to-make-git-diff-write-to-stdout
'developer tip' 카테고리의 다른 글
에코가 꺼지지 만 메시지가 표시됨 (0) | 2020.11.07 |
---|---|
키 입력으로 while 루프를 죽이는 방법? (0) | 2020.11.07 |
IntelliJ IDEA가 하위 패키지를 포함하여 패키지의 모든 테스트를 실행하도록하려면 어떻게해야합니까? (0) | 2020.11.07 |
Excel에서 DateTime을 나타내는 방법 (0) | 2020.11.07 |
JavaScript의 preg_match? (0) | 2020.11.07 |