Git 로그를 계속하라는 메시지가 표시되지 않도록 하는 방법은 무엇입니까?
함께 속한 Git 저장소 몇 개와 이 저장소 위에 루프할 수 있는 간단한 배치/배시 파일이 있습니다.저는 종종 로그 명령을 사용하여 이러한 상태를 빠르게 확인합니다.이것은 한 가지를 제외하고는 잘 작동합니다. 만약 커밋 메시지가 내 콘솔의 문자 수보다 길거나, git가 라인을 표시하면, (END)로 새 라인을 표시하고, 계속하려면 (출력이 더 많은 것을 통해 연결된다고 생각합니다) q를 눌러야 합니다.예:
> gitloop . "git log --decorate=short --pretty=oneline -n1"
18629ae238e9d5832cb3535ec88274173337a501 (HEAD, origin/master, master) short log
625fb891b9b0b8648459b07ace662ae3b7773c7f (HEAD, origin/master, origin/HEAD, master) short log
dc0838118266ba8570ea338c1faddfe8af0387bb (HEAD, origin/work, origin/master, work, master) oops loooooooooooooong log
-(END)
이것은 제가 q를 몇 번 눌러야 하기 때문에 다소 불편하지만, 저는 그냥 한 번에 하나의 엘리너를 보고 싶습니다.
이 동작을 사용하지 않도록 설정하려면 어떻게 해야 합니까(이 로그 형식을 유지하는 것이 좋음)?
Git에는 호출기를 비활성화하는 옵션이 있습니다.
git --no-pager log --decorate=short --pretty=oneline -n1
호출기가 줄을 긋고 해당 동작을 유지하려면 다음으로 연결합니다.cut...
git --no-pager log --decorate=short --pretty=oneline -n1 | cut -c 1-$COLUMNS
...또는 환경 변수 설정GIT_PAGER호출 전:
GIT_PAGER="cut -c 1-${COLUMNS-80}" git log --decorate=short --pretty=oneline -n1
특히 사용 시 호출기를 영구적으로 비활성화하는 문제에 대한 다른 해결책log하위 명령:
현재 보고서에만 해당:
git config pager.log falseGit 설치(즉, 컴퓨터의 모든 저장소):
git config --global pager.log false
일부 다른 하위 명령에 대해 선택적으로 호출기를 켜거나 끌 필요가 있는 경우에도 동일하게 작동합니다.
예를 들어branch(가지를 인쇄하는) 하위 명령입니다.
git config pager.branch false
제안된 솔루션은 거의 틀림없이 보다 우아합니다.
사용.
git --no-pager특정 명령을 실행할 때마다.
왜냐하면, 거의 가능성이 있기 때문에, 매번 입력하는 것을 원하지 않습니다.지정
git --no-pager의 가명으로git
잠재적 글로벌 구성을 피하거나 경우에 따라 호출기를 사용하도록 설정할 수 있습니다.다음과 같은 환경 변수에 의존합니다.
PAGER또는GIT_PAGER.
이 작업을 수행하려면 현재 터미널 세션에 설정되어 있어야 합니다.또한 새 터미널이 만들어질 때마다 자동으로 사용자 지정 값으로 설정되도록 하려면 예를 들어 셸 부트스트랩된 파일 중 하나를 변경해야 합니다.~/.bashrc큰 문제는 아닙니다.그러나 이러한 부트스트랩된 파일은 다른 애플리케이션에서도 자주 변경되며 Git에서 사용하는 것뿐만 아니라 여러 가지 다른 정보를 포함하고 있습니다.따라서 이론적으로 다음을 사용하여 깃 관련 설정을 지정하는 것이 좋습니다.git config예를 들어 그것들을 넣는 것보다.~/.bashrc.
사용하지 않도록 설정하기 위한 대체 솔루션pager모든 하위 명령에 대해 다음을 지정합니다.cat할 git: " 유리티가페사에용할경우징이틸:경우▁as할용사▁the▁utilityit▁g▁g▁use":
git config core.pager catgit config --global core.pager cat
제 대답은 아래의 것을 다소 바꾸어 말하는 것입니다.
"호출기를 사용하는 것과 다른 점이 있습니까?
https://.com/a/6986231/6103242https ://stackoverflow.com/a/6986231/6103242
다른 관련 논의를 지적하기 위해 참조됩니다.
모든 명령에 대해 호출기 사용 안 함:
git config --global core.pager ''
당신이 피리를 부으세요.less -F--no-pager당신에게 효과가 없습니다.
git log --decorate --oneline -5 | less -F
-F는 것을 의미합니다.less처럼행것입다처럼 입니다.--no-pager출력이 한 화면에 맞으면 호출기가 됩니다.
export PAGER=cat
나를 위해 일했습니다.
위의 답변이 맞을 수도 있지만, 저에게 가장 적합한 답변을 추가하고 싶습니다.합니다.less에 git다음 플래그를 추가합니다.
export LESS="${LESS:+$LESS }-X -F"
-X Disables sending the termcap initialization and deinitialization strings to the terminal.
-F or --quit-if-one-screen -> no need to press `q` if output fits into the current terminal size.
언급URL : https://stackoverflow.com/questions/7736781/how-to-make-git-log-not-prompt-to-continue
'codememo' 카테고리의 다른 글
| Javascript 배열 맵 메서드의 Break 문 (0) | 2023.08.31 |
|---|---|
| 스프링 컨테이너 외부에서 스프링 데이터 JPA를 사용하는 방법은 무엇입니까? (0) | 2023.08.31 |
| 명령줄에서 Powershell ISE에서 ps1 스크립트를 열려면 어떻게 해야 합니까? (0) | 2023.08.31 |
| Mac High Sierra가 호스트 'localhost'를 사용하여 MariaDB에 연결할 수 없음 (0) | 2023.08.31 |
| CSS를 사용하여 빈 입력 상자 일치 (0) | 2023.08.26 |