git: 删除分支的 Change-Id
git: Remove Change-Id for branches
我有一个 git 存储库,它有两个遥控器,一个强制更改 ID,另一个强制删除它们。
我有 gerrit 的 commit-msg 挂钩,它为每次提交创建一个 Change-Id。
我还有一个钩子,对于具有特定名称的分支,不会创建 Change-Id。
我想要的是无需手动修改每个提交即可删除它的东西。
我目前的工作流程:
- 创建一个获取 Change-Id 的提交
- 移动到指定分支
- git 是具有 Change-Ids
的补丁
- 修改每个提交并删除 Change-Id
有什么方法可以自动完成最后一步吗?
您可以在应用补丁之前删除 Change-Id
行。
sed "/^Change-Id: /d" foo.patch | git am
在 sed
中,/^Change-Id: /
尝试查找以 Change-Id:
开头的行,并且 d
删除该行(如果存在)。 foo.patch
没有改变。其不带 Change-Id
的内容输出到标准输出并传递给 git am
.
要找到模式更精确的线,
sed "/^Change-Id:\s\+I[0-9a-f]\{40\}/d" foo.patch | git am
我有一个 git 存储库,它有两个遥控器,一个强制更改 ID,另一个强制删除它们。 我有 gerrit 的 commit-msg 挂钩,它为每次提交创建一个 Change-Id。 我还有一个钩子,对于具有特定名称的分支,不会创建 Change-Id。 我想要的是无需手动修改每个提交即可删除它的东西。 我目前的工作流程:
- 创建一个获取 Change-Id 的提交
- 移动到指定分支
- git 是具有 Change-Ids 的补丁
- 修改每个提交并删除 Change-Id
有什么方法可以自动完成最后一步吗?
您可以在应用补丁之前删除 Change-Id
行。
sed "/^Change-Id: /d" foo.patch | git am
在 sed
中,/^Change-Id: /
尝试查找以 Change-Id:
开头的行,并且 d
删除该行(如果存在)。 foo.patch
没有改变。其不带 Change-Id
的内容输出到标准输出并传递给 git am
.
要找到模式更精确的线,
sed "/^Change-Id:\s\+I[0-9a-f]\{40\}/d" foo.patch | git am