如何在 bash 脚本中将票号“TIX-321”附加到分支 test_branch 中已存在的所有提交消息?
这相当于遍历所有提交并针对每个 git 修改提交。
我想在 shell 脚本中自动完成,我不想使用交互式 rebase 手动完成。
最佳答案
您可以对您的分支进行交互式 rebase (假设它来自 main
)
git switch test_branch
git rebase -i $(git merge-base --fork-point main)
在自动打开的编辑器中,您可以更改所有提交信息,保存并退出。
这将重写您分支的每个提交,您必须强制推送(确保在该分支上工作的任何人都知道)。
您可以使用相同的提交范围以编程方式执行此操作,使用 git filter-repo
, 使用其新的 --replace-message
option .
与 replace-text 一样, regex:
受支持,因此您可以使用 expression.txt
文件:
regex:(.*)$==>TIX-321 \1
还有命令:
git filter-repo --replace-message expressions.txt $(git merge-base --fork-point main)..test_branch
关于git - 将票号附加到本地和远程 git 历史记录中的所有提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69431825/