2012-06-02 217 views
1

當前我正在使用預提交掛鉤來拒絕向主分支提交(迫使我在其他分支上工作並在更改中合併)。這不允許我在新創建的回購庫上進行初始提交。如果它是第一次提交,我想添加一個檢查以允許在主服務器上進行提交。檢查提交是否在提交前第一次提交

我已經試過這多個版本,沒有運氣...

if [[ `git shortlog | grep -E '^[ ]+\w+' | wc -l | tr -d ' '` == 0 -a `git symbolic-ref HEAD` == "refs/heads/master" ]] 
then 
    echo "You cannot commit in master!" 
    echo "Stash your changes and apply them to another branch" 
    echo "git stash" 
    echo "git checkout branch" 
    echo "git stash apply" 
    exit 1 
fi 

回答

2

只是執行

git commit --no-verify ... 

的第一次提交。然後你的預提交鉤子可以簡單地應用於主分支。

+0

完美,謝謝 – Galen

相關問題