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 :)

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

它与您的show-ref略有不同。
你问:“这个存储库里有什么在refs/heads?”
矿井询问“目前HEAD是否存在?”

实际上,它们都是合理的测试,因为一旦你有一个分支,很难得到HEAD指向某些无效的手动编辑某些虚假值。但是你可能更喜欢一个取决于你想说的话。