Git Bash脚本检查回购是否有任何提交?
问题描述:
我有一个脚本,我需要采取不同的行动,如果有任何,这是一个或多个提交。做这个的最好方式是什么?Git Bash脚本检查回购是否有任何提交?
在伪代码会是这个样子..
#!/bin/bash
if [[ `git log_count` == "0" ]]; then
echo "No commits exist for this repo."
# Do stuff..
else
echo "One or more commits do exist!"
# Do other stuff
fi
任何想法?
答
从我头顶的小事是
$ git log | egrep -c "^commit"
1493
答
你也可以检查的结果是:这是一个
git rev-parse --verify HEAD
(后this thread :)
- 管道命令等不太可能改变其行为 与“
git diff
”相比较。- 这对我来说似乎更加明显。
rev-parse --verify
是要问 “这是一个有效的对象名称吗?”它与您的
show-ref
略有不同。
你问:“这个存储库里有什么在refs/heads?”
矿井询问“目前HEAD
是否存在?”实际上,它们都是合理的测试,因为一旦你有一个分支,很难得到
HEAD
指向某些无效的手动编辑某些虚假值。但是你可能更喜欢一个取决于你想说的话。