我昨天更新了All Project访问权限,人们说他们今天早上无法将更改推送到存储库.在我恢复访问权限后,他们仍然无法将更改推送到存储库,只能clone正常工作.推送更改为远程存储库时,它说:
![remote rejected] HEAD -> refs/for/master (prohibited by Gerrit)
Run Code Online (Sandbox Code Playgroud)
我们所有其他项目都继承了All project的访问权限,我将访问权限更新到最低级别(即Anonymous可以推送分支refs/heads/*)进行测试,但我发现管理员也无法将更改推送到存储库!
是否需要添加其他设置?
如何将git存储库镜像到Gerrit?
我会做的:
[git repository for libdrm] - >我的gerrit < - >开发人员
Gerrit从freedesktop git存储库下载更改.开发人员从gerrit克隆存储库并推入gerrit.开发人员从不将更改推送到主存储库.
我用gerrit创建了新项目.我下载了存储库:
git clone http://anongit.freedesktop.org/git/mesa/drm.git
Run Code Online (Sandbox Code Playgroud)
我会把这个存储库推到gerrit,但我不能,因为我有错误:
remote: ERROR: In commit ced219ebbd3b266ac8326223bad62f994907ae6b
remote: ERROR: committer email address chris@chris-wilson.co.uk
remote: ERROR: does not match your user account.
remote: ERROR:
remote: ERROR: The following addresses are currently registered:
remote: ERROR: xxx@example.com
remote: ERROR:
remote: ERROR: To register an email address, please visit:
remote: ERROR: http://mygerrit-server/#/settings/contact
Run Code Online (Sandbox Code Playgroud)
我有所有人的权利.我怎么能把镜子添加到gerrit?
我在ubuntu服务器上安装了gerrit服务,在我的PC上安装了客户端.我在我的PC上创建了一个git repo(使用msysgit),问题是:如何将git repo上传到Ubuntu服务器?我应该先在Ubuntu服务器上做一些工作(我刚刚安装了gerrit和git服务)?
我已经使用gerrit触发器插件配置了jenkins,以验证我们推送到gerrit的每个提交.我希望这个触发器能够包含我对原始仓库的最新更改并进行构建.但是,它只是克隆repo项目并在没有我改变的情况下进行编译.
以下是jenkins中gerrit触发器的配置设置.
Refspec: $GERRIT_REFSPEC
Branches to build: $GERRIT_BRANCH
Build trigger: Gerrit event
Trigger on: patch set created
Gerrit project: added project and branch
Run Code Online (Sandbox Code Playgroud)
下面是构建输出消息
Triggered by Gerrit: http://ci-test1/22
Building on master in workspace /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace - hudson.remoting.LocalChannel@733aee56
Using strategy: Default
Last Built Revision: Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Fetching changes from 1 remote Git repository
Fetching upstream changes from abc
Commencing build of Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Checking out Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
[workspace] $ /bin/sh -xe /tmp/hudson1375188638196718521.sh
+ echo 'Started Build' …Run Code Online (Sandbox Code Playgroud) 在Gerrit(2.8)上传代码审查的git提交时,我希望能够设置主题字段(例如g-tune-pme-reform here https://gerrit.gromacs.org/#/c/3453/3).如何从命令行完成?可以在原来的git push中完成吗?
我理解Gerrit会收到git提交(update也许使用钩子),然后将它们写在假的ref上,直到完成同行评审,但这个过程在技术实现方面究竟是如何工作的呢?Git命令涉及什么?
我发现在Gerrit Web界面中单击"提交补丁集"时,它只是简单地向该分支添加提交,或者如果之前提交了另一个提交,则创建合并提交.
创建2提交的示例:实际提交和合并提交:
有一个"Rebase Change"按钮很棒,但这意味着要提交补丁集,每个人都应该这样做:
我看到合并提交有用的唯一原因是保留提交的日期(但我确实理解为什么在没有rebase的情况下需要它).
是不是有自动rebase或至少检查以避免产生不需要的合并提交?
当我跑步时git status,这就是我所看到的:
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
You are in the middle of an am session.
(fix conflicts and then run "git am --continue")
(use "git am --skip" to skip this patch)
(use "git am --abort" to restore the original branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- …Run Code Online (Sandbox Code Playgroud) 我试图找到一个解释,但没有找到.
我正在使用Gerrit 2.13.8.
有人可以解释Gerrit Review中的"跟进"按钮在做什么以及何时使用它?
谢谢弗兰克