0

当我的网络断开连接时,我正在使用“git push origin HEAD:refs/for/master”将我的更改从本地 git repo 推送到 Gerrit。

现在,当我尝试重新运行它时,我得到:

计数对象:40,完成。使用多达 8 个线程的 Delta 压缩。压缩对象:100% (28/28),完成。写入对象:100% (36/36),2.23 MiB,完成。总共 36 个(增量 4),重复使用 5 个(增量 0)远程:解析增量:100%(4/4)远程:处理更改:参考:1,完成
到 ssh://@:29418/scaligent.git ![远程拒绝] HEAD -> refs/for/master(更改 57 已关闭)错误:未能将一些 refs 推送到 'ssh://@:29418/scaligent.git'

如何清理状态?

4

1 回答 1

1

错误信息说明一切

[远程拒绝] HEAD -> refs/for/master(更改 57 已关闭)

这不是由 git push 引起的。通常在这种情况下您会收到此错误:

  • 将本地提交推送到服务器作为更改 57 补丁集 1
  • 修改一些东西 & git commit -amend
  • 某人(包括您自己)单击 gerrit 中的提交或放弃按钮(这将关闭更改 57)
  • 再次运行 git push

Gerrit 发现您尝试将新补丁集添加到已关闭的更改中,因此恢复推送。

现在您可以按照以下步骤清理它:

  • (可选) git branch -b 备份
  • git 获取原点
  • git重置原点/主
  • git 提交 -a
  • git push origin HEAD:refs/for/master
于 2012-10-26T02:13:09.577 回答