2011-03-16 54 views
0

我有一個腳本,我需要採取不同的行動,如果有任何,這是一個或多個提交。做這個的最好方式是什麼?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 

任何想法?

回答

0

從我頭頂的小事是

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

你也可以檢查的結果是:這是一個

git rev-parse --verify HEAD 

(後this thread :)

  1. 管道命令等不太可能改變其行爲 與「git diff」相比較。
  2. 這對我來說似乎更加明顯。 rev-parse --verify是要問 「這是一個有效的對象名稱嗎?」

它與您的show-ref略有不同。
你問:「這個存儲庫裏有什麼在refs/heads?」
礦井詢問「目前HEAD是否存在?」

實際上,它們都是合理的測試,因爲一旦你有一個分支,很難得到HEAD指向某些無效的手動編輯某些虛假值。但是你可能更喜歡一個取決於你想說的話。

相關問題