簡體   English   中英

如何更改默認的git commit消息

[英]How to change default git commit message

我在prepare-commit-msg文件中的提交消息上添加了一些更改,然后執行了此命令

git config --global commit.template .git / hooks / prepare-commit-msg

之后,當我執行git commit時,我會收到類似的信息

我的更改的40行,然后

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.   
# Explicit paths specified without -i nor -o; assuming --only paths... 
# On branch master
# Changes to be committed:
#
#       modified:   test
#    

問題是否有機會在頂部顯示此默認消息? 還是最好永久刪除此消息?

您似乎混淆了commit.template選項(為git commit--template選項提供默認值)與prepare-commit-message掛鈎。

通常git commit使用以下操作序列:

  1. 運行預提交掛鈎(如果存在且可運行)。 如果退出非零值,則中止提交。
  2. 將任何指定或配置的模板(請參見下文)復制到臨時文件。 如果沒有模板或模板路徑不可讀,請從一個空的臨時文件開始。
  3. 添加以下行# Please enter the commit message ...git status的輸出。
  4. 在臨時文件上運行prepare-commit-message鈎子(如果存在且可運行)。
  5. 在臨時文件上打開編輯器。 (您的編輯器是從$GIT_EDITORcore.editor配置, $VISUAL$EDITOR或內置默認值設置的,以第一個為准。)
  6. 退出編輯器后,根據是否提供了提交消息進行提交或停止提交。

如果使用-f-m選項,通常會跳過步驟2、3和5(盡管您可以通過添加--edit來強制git打開編輯器)。 大概您沒有使用過這些選項。

在什么--template選項的作用,因此什么commit.template不,是提供了一個文件的路徑名git commit將在步驟2中這不會影響第3步中添加的行復制雖然路徑.git/hooks/prepare-commit-message (可能)的文件的git可以閱讀,它不是你的模板一個非常明智的名字,因為如果同樣的路徑由可執行文件,該文件將成為可運行和步驟4可能會表現不好。

您可以通過添加--no-status來告訴git commit 執行步驟3。 (此外,-- --no-edit有時也抑制步驟3,這是一個有點奇怪的副作用,-- --no-edit也可以抑制步驟5。)

或者,您可以使用第4步消除部分或全部的git status輸出和標准的# Please enter...消息。 prepare-commit-message掛鈎可以對模板文件進行任意更改。

請注意,-- --cleanup=<mode>影響最終提交消息中的內容以及步驟6的處理。有關詳細信息,請參見git commit文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM