[英]How to reword a Git commit by its SHA1 hash?
我已經創建了帶有要修改的提交消息的提交。 我尚未發布提交,因此可以安全地重寫歷史記錄。 我可以使用git log找到它,所以我知道它的sha1哈希。 如何快速編輯提交?
您可以檢出有問題的提交,修改其消息,然后手動將其重新設置為分支:
$ git checkout FIRST_COMMIT_SHA
$ git commit --amend
$ git rebase HEAD THE_BRANCH_YOU_CAME_FROM
此git別名將自動執行此過程:
reword = "!f() { branch=`git symbolic-ref --short HEAD`; git checkout $1; git commit --amend; git checkout $branch; }; f"
要將其添加到您的~/.gitconfig
:
$ git config alias.reword "!f() { branch=`git symbolic-ref --short HEAD`; git checkout $1; git commit --amend; git checkout $branch; }; f"
然后像這樣使用:
$ git reword SHA1_OF_THE_COMMIT_TO_BE_REWORDED
積分:
或者,可以通過使用rebase命令並提供--root
標志來完成對初始提交消息的修改。 另外,您將需要指定交互模式,並對第一次提交使用edit
,如下所示:
git rebase -i -root
// Specify 'edit' for the first commit.
// Amend first commit message here.
git commit --amend
有關--root
標志的更多詳細信息,請參見此處 。
另外,如果要修改的消息的提交位於您正在處理的分支中,則也可以使用交互式rebase輕松解決該問題。 只需找到相應的短SHA-1並指定edit
以允許修改其提交消息即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.