如何创建一个 bash 脚本来监视我的本地 git 存储库并在每次提交/签出 -b/push/status 时运行“git log”?

如何创建一个 bash 脚本来监视我的本地 git 存储库并在每次提交/签出 -b/push/status 时运行“git log”?

当我编码时,我通常会在 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

相关内容