我有一个git存储库,其中有两个远程控制,一个远程执行Change-Id,另一个远程删除。 我有gerrit的commit-msg钩子,可为每个提交创建一个Change-Id。 我也有一个钩子,对于具有特定名称的分支,不会创建Change-Id。 我想要的是可以删除它的东西,而无需我手动修改每个提交。 我当前的工作流程:
有什么方法可以自动化最后一步?
答案 0 :(得分:1)
您可以在应用补丁之前删除Change-Id
行。
sed "/^Change-Id: /d" foo.patch | git am
在sed
中,/^Change-Id: /
尝试查找以Change-Id:
开头的行,而d
删除该行(如果存在)。 foo.patch
不变。没有Change-Id
的内容将输出到stdout并传递到git am
。
要找到具有更精确图案的线,
sed "/^Change-Id:\s\+I[0-9a-f]\{40\}/d" foo.patch | git am