【问题标题】:Gerrit code review push to empty repo doesn't workGerrit 代码审查推送到空仓库不起作用
【发布时间】:2012-08-14 18:43:55
【问题描述】:

我安装并配置了我自己的 Gerrit 服务器。我使用 Gerrit 的 web gui 创建了一个存储库。我可以使用“git”命令成功克隆这个空存储库,所以配置似乎很好。接下来,我:

  1. 配置了我的访问权限:git config --global user.email ...git config --global user.name ...

  2. 添加了遥控器:git add remote origin myUser@myGitHost:29418/project.git

  3. 创建并提交文件:git add file,git commit -m "first commit"

到目前为止一切顺利。

但是,当我尝试将其推送到我的仓库时,我得到了输出:

myUser@myGitHost:~/project$ git push origin master
Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 525 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://myUser@myGitHost:29418/project.git
 ! [remote rejected] master -> master (can not update the reference as a fast forward)
error: failed to push some refs to 'ssh://myUser@myGitHost:29418/project.git'

我试图寻找解决方案。 “git pull origin master”不起作用。使用 -f 选项推送也不起作用。

谁能帮帮我?

编辑:push -f 的输出:

myUser@myGitHost:~/project$ git push -f origin master
Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 525 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Processing changes: refs: 1, done
To ssh://myUser@myGitHost:29418/project.git
 ! [remote rejected] master -> master (can not update the reference as a fast forward)
error: failed to push some refs to 'ssh://myUser@myGitHost:29418/project.git'

我所说的“git pull origin master”的意思是人们提到的最多的解决方案是在推送之前进行拉取,例如:http://rip747.wordpress.com/2009/04/20/git-push-rejected-non-fast-forward/。这个拉输出:

myUser@myGitHost:~/project$ git pull origin master
From ssh://myGitHost:29418/project
 * branch            master     -> FETCH_HEAD
Already up-to-date.

但是当我进行推送时,输出还是一样的:

无法将引用更新为快进。

【问题讨论】:

  • 请显示push -f 的输出。 pull origin master does not work 是什么意思?
  • 您好,感谢您的反馈。为了回答您的问题,我在帖子中添加了“编辑”部分。

标签: git push gerrit fast-forward


【解决方案1】:

您是否试图绕过 Gerrit 的代码审查功能?如果没有,请尝试git push origin HEAD:refs/for/master

【讨论】:

  • 好的,谢谢 - 当我按照你说的做时,它会说“![远程拒绝] HEAD -> refs/for/master (invalid committer)”我会设法解决这个问题。但是如果我想绕过代码审查怎么办?如果我执行 git push origin HEAD:refs/heads/master 我仍然会得到“![remote denied] HEAD -> master(不能将参考更新为快进)”。它在文档中说这可以绕过代码审查。所以问题似乎出在 Git 本身,而不是 gerrit?
  • OK,按照这个:mediawiki.org/wiki/Thread:User_talk:%5Edemon/…我需要修改一些.gitreview文件直接推送。在不添加此文件的情况下如何执行此操作(直接推送)?
  • 我想回答我之前的评论,因为我在回复帖子时发现了这一点:stackoverflow.com/questions/7423893/…
猜你喜欢
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 2019-07-21
  • 2023-03-27
相关资源
最近更新 更多