格里特重新创造变革

Fra*_*aro 14 git gerrit

我正在使用gerrit.我使用了以下命令

$ cd .git/hooks
$ scp -P 29418 demo@localhost:hooks/commit-msg .
$ cd ../..
Run Code Online (Sandbox Code Playgroud)

这会将change-id添加到我的提交消息中,但是如果我修改为提交它会创建一个新的更改ID.因此,当我回到gerrit时,它没有添加补丁集,它正在创建一个全新的评论条目.

有什么建议吗?

找到了答案,但stackoverflow不会让我回答我自己的问题.

所以这对我来说是完全错误的.当我尝试提交git commit --amend -m"Initial Commit"时

我正在内联提交消息,这正在消除更改ID,从而给我一个新的.

Tom*_*cki 28

commit-msg hook工作方式:

  1. 检查提交消息中是否有change-id.
  2. 如果没有,生成一个.

如果您输入git commit --amend并编辑提交消息,您仍然有旧的更改ID(这很好).

但是如果你输入git commit --amend -m "...."你已经删除了change-id,那么gerrit会生成一个新的.

经验法则:不要--amend -m与gerrit一起使用.

  • 哎呀!发现这太晚了:) (2认同)

drg*_*nfr 7

  1. git commit --amend
  2. 手动删除Change-Id行,保存并关闭
  3. git commit --amend --no-edit

如果没有,该钩子将创建一个新的 Change-Id 哈希值。

  • 这实际上是重新生成更改 ID 的最简单方法,并且应被视为正确的方法 (2认同)