我正在尝试使用gerrit,并且在提交时遇到了一些问题。当我提交我的更改并将其推送到分支时,有时会引发两个代码审查,一个是我的,另一个是在同一分支上工作的人的代码审查,很多时候我收到消息你在5次提交之前,即使我只做了一次提交。我使用以下命令:
git add <file_name>
git commit -m "commit msg"
git push <branch name>
在进一步的研究中,我发现git钩子可能会有问题,因为我没有在任何地方使用git钩子。由于git钩子,gerrit无法区分由不同人完成的提交,因此在一次推送中引发了许多评论。我的理解是正确的吗?如果没有,请告诉我为什么会这样。
我还想在git hook命令中问一下:
scp -p -P 29418 username@your_gerrit_address:hooks/commit-msg.git/hooks/
这个命令是做什么的,这个数字是29418。这个数字是gerrit给的吗?
发布于 2018-07-26 06:26:59
这听起来像是预期的行为;上传供审查的提交还没有合并到您的分支中。这个想法是,提交由另一个团队成员(或您的组织想要的任何设置)审查,批准,然后提交/合并。
直到你按下提交按钮,提交才会真正出现在你的“真正”分支上。这意味着,任何下载该存储库的人都可以看到它。
很多次我收到消息说你在5次提交之前,即使我只做了一次提交
这是因为您的本地repo有5个提交,但它不知道上游存在(在“官方”分支中)。
首先,尝试"git fetch";它将更新远程(服务器存储库)的本地副本视图,以便您可以看到最近提交的任何内容。本质上,这会让你的本地repo知道“好了,这些提交已经提交了”。
如果这还不够,在gerrit中可能还有5个未提交的提交。
我的理解是正确的吗?
这似乎是有可能的。Gerrit通过"Change-Id:“标签匹配对现有更改的提交。如果您没有git commit钩子来添加该行,gerrit可能会在您每次推送时为每次提交创建一个新的更改。
这也与前面的讨论有关;您的本地repo不知道其中一些提交已经提交。所以,它每次都会上传全部5个。
https://stackoverflow.com/questions/51531283
复制