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