Git

我可以使用鉤子獲得預期的作者/送出者名稱嗎?

  • February 25, 2021

所以我有一個有點不尋常的 git 儲存庫,因為多個人在同一個儲存庫上工作,使用sudo. (從長遠來看,我們的目標是擺脫這種情況,但就目前而言,我們只是在改進我們的實踐方面邁出了一小步。)

當然,這使得辨識每個送出的人變得困難,但我已經確定了一個使用環境變數(GIT_AUTHOR_NAME 等)的合理解決方案。

為了“強制”我的同事使用它,我想在送出之前執行的鉤子之一中添加一些自動驗證:

  • 預送出
  • 準備送出消息
  • 送出消息

但是,我似乎無法在這些鉤子中找到任何方法來查找此資訊。我當然可以嘗試重新發明輪子並尋找環境變數等,但我非常希望不這樣做。

那麼有誰知道是否有辦法向 git 詢問它打算用於分階段送出的作者/送出者姓名和電子郵件?還是該資訊僅在預送出掛鉤之後添加到送出中?

環境變數實際上是將可選參數和配置傳遞給掛鉤的主要方式。因此,僅從GIT_AUTHOR_NAME這些鉤子中讀取環境沒有任何問題。

git使用這些環境變數之一呼叫時,它將使用它們來設置作者資訊。如果不是git,則將從 repo 或全域配置中讀取它,並在呼叫鉤子之前適當地設置環境變數。

對於送出者的詳細資訊,事實證明正確的方法是使用git var GIT_COMMITTER_IDENT.

對於作者的詳細資訊,@acran 的答案是正確的,因此將被接受。

引用自:https://serverfault.com/questions/1052783