Git
我可以使用鉤子獲得預期的作者/送出者名稱嗎?
所以我有一個有點不尋常的 git 儲存庫,因為多個人在同一個儲存庫上工作,使用
sudo
. (從長遠來看,我們的目標是擺脫這種情況,但就目前而言,我們只是在改進我們的實踐方面邁出了一小步。)當然,這使得辨識每個送出的人變得困難,但我已經確定了一個使用環境變數(GIT_AUTHOR_NAME 等)的合理解決方案。
為了“強制”我的同事使用它,我想在送出之前執行的鉤子之一中添加一些自動驗證:
- 預送出
- 準備送出消息
- 送出消息
但是,我似乎無法在這些鉤子中找到任何方法來查找此資訊。我當然可以嘗試重新發明輪子並尋找環境變數等,但我非常希望不這樣做。
那麼有誰知道是否有辦法向 git 詢問它打算用於分階段送出的作者/送出者姓名和電子郵件?還是該資訊僅在預送出掛鉤之後添加到送出中?
環境變數實際上是將可選參數和配置傳遞給掛鉤的主要方式。因此,僅從
GIT_AUTHOR_NAME
這些鉤子中讀取環境沒有任何問題。當
git
使用這些環境變數之一呼叫時,它將使用它們來設置作者資訊。如果不是git
,則將從 repo 或全域配置中讀取它,並在呼叫鉤子之前適當地設置環境變數。
對於送出者的詳細資訊,事實證明正確的方法是使用
git var GIT_COMMITTER_IDENT
.對於作者的詳細資訊,@acran 的答案是正確的,因此將被接受。