32
我正在執行一個程序來在每次將更新發送到遠程存儲庫時警告CruiseControl。我爲此使用了Git post-update鉤子。在更新後的鉤子中查找Git分支名稱
如果我能找出哪個分支已經被提交,那麼我就可以使用它來通知CruiseControl要建立哪個分支。有沒有辦法在更新後的鉤子中訪問分支名稱?
我正在執行一個程序來在每次將更新發送到遠程存儲庫時警告CruiseControl。我爲此使用了Git post-update鉤子。在更新後的鉤子中查找Git分支名稱
如果我能找出哪個分支已經被提交,那麼我就可以使用它來通知CruiseControl要建立哪個分支。有沒有辦法在更新後的鉤子中訪問分支名稱?
更新後掛鉤的第一個參數是完整的分支引用 - 例如,我看到'refs/heads/master'用於推送到'origin master'。這樣一個示例鉤子腳本只是打印分支改性是:
:#!/bin/sh
branch=$(git rev-parse --symbolic --abbrev-ref $1)
echo Update pushed to branch $branch
exec git update-server-info
爲了說明,當上述被放置到您的遠程存儲庫鉤/更新後的文件執行推送當打印以下
% git push origin master
Counting objects: 5, done
Writing objects: 100% (3/3), 247 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
remote: Update pushed to branch master
To /tmp/xx/a
e02d9cd..ab14a08 master -> master
我們的鉤子腳本輸出了開始'remote:'的新行。
謝謝Patthoyts。使用上面的代碼,我得到「遠程:鉤子/後更新:第8行:分支:命令未找到」。錨 – user489998
我提供了一個擴展樣本。你仍然需要#!/ bin/sh行。另外,當你在shell腳本中設置一個變量時,使用$來訪問價值 – patthoyts
Wayhey!這是做到了。非常感謝patthoyts。 – user489998