로컬 git 저장소를 모니터링하고 모든 커밋/체크아웃 -b/push/상태에서 "git log"를 실행하는 bash 스크립트를 어떻게 생성합니까?

로컬 git 저장소를 모니터링하고 모든 커밋/체크아웃 -b/push/상태에서 "git log"를 실행하는 bash 스크립트를 어떻게 생성합니까?

코딩할 때 일반적으로 VSCode에 2개의 터미널 탭이 열려 있습니다. 탭왼쪽git 명령에 사용됩니다. 탭옳은항상 git log --all --graph --decorate --oneline모든 브랜치와 커밋을 보여주세요.

라벨을 만들려고 해요옳은git log브랜치를 체크아웃하고 새 브랜치를 체크아웃하고 커밋하고 푸시하고 당기면 명령이 다시 실행됩니다.

나는 이것을 시도했습니다 :

# watchgit.sh
inotifywait -m .git/refs -m .git/HEAD |
    while read dir action file; do
        git log
    done

하지만 그것은 진실이 아니다새로 고치다. 여기저기서 몇 가지 추가 새로 고침이 있어도 괜찮습니다.

도움을 받기를 바랍니다.

감사해요! 내 VSCode 터미널 설정

답변1

오른쪽 하단을 살펴보세요. (END)이는 git에서 사용하는 페이지네이터에서 가져온 것입니다.

--no-pager이 문제는 피할 수 있습니다

그런 다음 while주변의 모든 이벤트에 반응합니다 inotifywait.

while inotifywait .git/refs .git/HEAD ; do                                                             
 git --no-pager log --decorate=short --pretty=oneline
done

관련 정보