我有一个脚本,我需要采取不同的行动,具体取决于是否有一个或多个提交。这样做的最佳方式是什么?
在伪代码中它看起来像这样..
#!/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
有什么想法吗?
答案 0 :(得分:2)
您还可以查看以下结果:
git rev-parse --verify HEAD
(在this thread之后:)
- 这是一个管道命令,所以不太可能改变它的行为 与“
git diff
”相对。- 对我来说似乎更明显。
醇>rev-parse --verify
是要问的 “这是一个有效的对象名称吗?”与您的
show-ref
略有不同。
你的问:“这个存储库中的参考/头部有什么东西吗?” 我问“目前HEAD
是否存在?”在实践中,它们都是合理的测试,因为一旦你有了一个分支,就很难让
HEAD
指向一些无效的东西,而不是手动编辑到一些虚假的价值。但是根据你想说的话,你可能更喜欢一个而不是另一个。
答案 1 :(得分:0)
我头脑中的琐事是
$ git log | egrep -c "^commit"
1493