![로컬 git 저장소를 모니터링하고 모든 커밋/체크아웃 -b/push/상태에서 "git log"를 실행하는 bash 스크립트를 어떻게 생성합니까?](https://linux55.com/image/198056/%EB%A1%9C%EC%BB%AC%20git%20%EC%A0%80%EC%9E%A5%EC%86%8C%EB%A5%BC%20%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%ED%95%98%EA%B3%A0%20%EB%AA%A8%EB%93%A0%20%EC%BB%A4%EB%B0%8B%2F%EC%B2%B4%ED%81%AC%EC%95%84%EC%9B%83%20-b%2Fpush%2F%EC%83%81%ED%83%9C%EC%97%90%EC%84%9C%20%22git%20log%22%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%83%9D%EC%84%B1%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
코딩할 때 일반적으로 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
하지만 그것은 진실이 아니다새로 고치다. 여기저기서 몇 가지 추가 새로 고침이 있어도 괜찮습니다.
도움을 받기를 바랍니다.
답변1
오른쪽 하단을 살펴보세요. (END)
이는 git에서 사용하는 페이지네이터에서 가져온 것입니다.
--no-pager
이 문제는 피할 수 있습니다
그런 다음 while
주변의 모든 이벤트에 반응합니다 inotifywait
.
while inotifywait .git/refs .git/HEAD ; do
git --no-pager log --decorate=short --pretty=oneline
done