簡體   English   中英

從git-filter-branch --msg-filter啟動$ EDITOR

[英]Launch $EDITOR from git-filter-branch --msg-filter

我想更改所有提交消息以將其翻譯為另一種語言。

我知道我可以使用git-filter-branch --msg-filter來實現,但是我不想用任何模式替換消息,而是想在編輯器中打開每個提交消息,進行更改並保存,就像我在git-rebase --interactive中使用reword一樣。

git filter-branch --msg-filter 'cat > ~/msg && 
  vim >&2 <&1 ~/msg && 
  cat ~/msg' HEAD^^^^..HEAD

這將允許您使用vim編輯最近4次提交的消息。 如果您第二次執行此操作,則添加-f覆蓋備份。

如果您將分支機構作為基礎,則可以編輯任何/所有提交消息。

關於Git的棘手事情是它使用提交消息作為提交本身的一部分,因此您的分支將有所不同。

只需執行(在您的分支上):

git rebase -i master

或者如果您想保留合並提交(感謝danillonunes和Adam D.)

git rebase -i master --preserve-merges 

當您看到編輯器時,將第一列從pick更改為edit ,您將有機會更改每條提交消息。

暫無
暫無

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

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