Ela*_*atz 2 bash git bash-scripting
我正在尝试创建一个脚本,该脚本应该git log每 1 秒刷新一次。这就是我所拥有的:
while :
do
clear
git log --all --decorate --oneline --graph
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为git log等待用户点击q退出 - 因此循环被卡住了。我怎样才能解决这个问题?
小智 8
您可以将其设为单行watch:
watch --color -n 3 git log --all --decorate --oneline --graph --color=always
Run Code Online (Sandbox Code Playgroud)
调整-n标志以更改刷新率。
根据SO 的这个答案,您可以通过--no-pager在git.
log等待的不是命令q,而是less进行分页的工具。通过告诉git您不需要寻呼机,该log命令将打印所有输出,然后立即退出。
当然,如果有多个屏幕值得,您将打印出所有内容,并且必须向上滚动才能看到最近的提交。您可以通过添加类似-22. 这将限制为 22 次提交,您当然可以选择不同的数量。
就像是:
while :
do
clear
git --no-pager log --all --decorate --oneline -22 --graph
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
546 次 |
| 最近记录: |