Bash

如何創建一個 bash 腳本來監視我的本地 git repo 並在我每次送出/簽出 -b/push/status 時執行“git log”?

  • November 6, 2021

當我編碼時,我通常會在 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 終端設置

看看右下角,(END)這是來自 git 使用的尋呼機。

--no-pager為了避免這個問題

然後while對周圍的每個事件做出反應inotifywait

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

引用自:https://unix.stackexchange.com/questions/676252