[英]$GIT_DIR no longer set in pre-commit hooks
在預提交鈎子中使用 $GIT_DIR 將返回 .git 目錄的位置。 即使它沒有被明確設置為任何東西,在 pre-commit 鈎子中使用它仍然會返回位置。 更新后,轉移到 Git 2.18 似乎不再是這種情況,我的預提交鈎子的行為不同,無法按預期工作。 知道如何解決這個問題嗎?
一些非常詳細的信息可以在這里找到
https://public-inbox.org/git/20180826004150.GA31168@sigill.intra.peff.net/t/
為了問題的質量,我將盡力解釋。
使用 $GIT_DIR,當它沒有被明確設置時,在預提交鈎子中確實在 Git 2.18 之前工作,但是這是一個意外的副作用而不是預期的行為。
GIT 2.18 中的更改導致它停止工作。 在鏈接中,貢獻者提到在預提交鈎子(或任何鈎子)中獲取 .git 目錄位置的正確方法是使用這個 git 命令
git rev-parse --git-dir
他們可能會在未來制作一個補丁來將行為恢復到 2.18 之前的狀態,但我建議不要依賴未記錄和意外的行為
解決方法是,把
export GIT_DIR=${GIT_DIR-`git rev-parse --git-dir`}
在你的鈎子前面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.