Git Bash脚本检查repo是否有任何提交?

时间:2011-03-16 15:00:36

标签: 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

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您还可以查看以下结果:

git rev-parse --verify HEAD

(在this thread之后:)

  
      
  1. 这是一个管道命令,所以不太可能改变它的行为    与“git diff”相对。
  2.   
  3. 对我来说似乎更明显。 rev-parse --verify是要问的    “这是一个有效的对象名称吗?”
  4.         

    与您的show-ref略有不同。
      你的问:“这个存储库中的参考/头部有什么东西吗?”   我问“目前HEAD是否存在?”

         

    在实践中,它们都是合理的测试,因为一旦你有了一个分支,就很难让HEAD指向一些无效的东西,而不是手动编辑到一些虚假的价值。但是根据你想说的话,你可能更喜欢一个而不是另一个。

答案 1 :(得分:0)

我头脑中的琐事是

$ git log | egrep -c  "^commit"
1493