繁体   English   中英

如何通过命令从git commit中删除Change-Id

[英]How to remove Change-Id from git commit by command

当我从Gerrit中挑选补丁并将其再次推送到同一服务器上的不同分支时,服务器回复错误消息:

Total 0 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://xxxxxx.git
 ! [remote rejected] HEAD -> refs/for/xxxx (no new changes)
error: failed to push some refs to 'ssh://xxxxxx.git'

使用git commit --amend删除Change-Id行可以解决此问题。

我想写一个脚本来自动完成。 是否有任何命令/参数可以实现相同的结果?

您可以使用--no-commit选项; 像(你需要调整这个)

git cherry-pick --no-commit <sha-1>
COMMIT_MSG=$(git log -n 1 --pretty=format:%s%b <sha-1>)
# some bash operation to remove the Change-id from COMMIT_MSG variable
git commit -m "$COMMIT_MSG"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM