Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git gerrit中的commit问题_Git_Github_Gerrit_Githooks_Git Commit - Fatal编程技术网

Git gerrit中的commit问题

Git gerrit中的commit问题,git,github,gerrit,githooks,git-commit,Git,Github,Gerrit,Githooks,Git Commit,我正在尝试使用gerrit,我在提交时遇到了一些问题。当我提交我的更改并将其推送到分支时,有时会引发两个代码审查,一个是我的,另一个是在同一分支上工作的人的,并且很多时候我收到消息,您在5次提交之前,即使我只做了一次提交。我正在使用以下命令: git add <file_name> git commit -m "commit msg" git push <branch name> 这个命令是做什么的,这个号码是29418。这个号码是gerrit给的吗 当我提交我的更改并

我正在尝试使用gerrit,我在提交时遇到了一些问题。当我提交我的更改并将其推送到分支时,有时会引发两个代码审查,一个是我的,另一个是在同一分支上工作的人的,并且很多时候我收到消息,您在5次提交之前,即使我只做了一次提交。我正在使用以下命令:

git add <file_name>
git commit -m "commit msg"
git push <branch name>
这个命令是做什么的,这个号码是29418。这个号码是gerrit给的吗

当我提交我的更改并将其推给brnach时,有时会提出两个代码评审,一个是我的,另一个是在同一分支上工作的人的

这听起来像是有意的行为;上载供审阅的提交尚未合并到您的分支。其思想是,提交由另一个团队成员(或您的组织想要的任何设置)审查、批准,然后提交/合并

直到按下Submit按钮,提交才真正出现在“真实”分支上。也就是说,任何下载存储库的人都可以看到它

很多时候,我收到消息说,即使我只做了一次提交,你也会提前5次提交

这是因为您的本地回购协议有5个它不知道的承诺存在于上游(在“官方”分支中)

首先,尝试“git fetch”;它将更新您的本地副本的远程视图(服务器repo),以便您可以看到最近提交的任何内容。本质上,这让您的本地回购知道“好的,这些提交现在已经提交”

如果这还不够,gerrit中可能有5个未提交的提交等待处理

由于git-hook,gerrit无法区分不同人员所做的提交,因此一次推送中会引发许多评论。我的理解正确吗

这似乎是可能的。Gerrit通过“Change Id:”标记匹配现有更改的提交。如果您没有git提交钩子来添加该行,gerrit可能会在每次推送时为每个提交创建一个新的更改


这也与前面的讨论有关;您当地的回购协议不知道其中一些提交已经提交。因此,每次它都会上载所有5个文件。

您必须有一个钩子,每当您创建一个新的提交时,它都会自动生成更改Id。此更改Id是在创建提交时在日志消息中生成的,在修改提交时不会更新。
scp -p -P 29418 username@your_gerrit_address:hooks/commit-msg.git/hooks/