撤消GitLab上的Gerrit推送

撤消GitLab上的Gerrit推送,git,gitlab,git-reflog,Git,Gitlab,Git Reflog,我不小心在GitLab回购上做了Gerrit风格的推送 也就是说,在我当地的分支机构工作时,我做到了: $ git push origin HEAD:refs/for/master Enumerating objects: 7, done. Counting objects: 100% (7/7), done. Delta compression using up to 8 threads Compressing objects: 100% (4/4), done. Writing object

我不小心在GitLab回购上做了Gerrit风格的推送

也就是说,在我当地的分支机构工作时,我做到了:

$ git push origin HEAD:refs/for/master
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 3.06 KiB | 184.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
To gitlab.domain-name.com:project-name.git
 * [new reference]   HEAD -> refs/for/master
当我应该做的是一个简单的:

$ git push -u origin branch-name
据我所知,GitLab web GUI上没有显示此引用


我怎样才能解开这个?我需要吗?

Git refspec使用两个ref

用于跟踪本地分支的引用/头。 refs/remotes/用于跟踪远程分支。
refs/for/是Gerrit特定的命名空间,因此不应影响您的repo,因为您没有使用Gerrit服务器

Git refspec使用两个ref

用于跟踪本地分支的引用/头。 refs/remotes/用于跟踪远程分支。
refs/for/是Gerrit特定的命名空间,因此不应影响您的repo,因为您没有使用Gerrit服务器

您可以使用以下命令删除远程设备上的引用:

git push -d origin refs/for/master
完整演示:


您可以使用以下命令删除远程服务器上的引用:

git push -d origin refs/for/master
完整演示:


除了@Matt的答案中的方法之外,这是非常好的上下文信息,谢谢你,阿米特!除了@Matt的答案中的方法之外,这是非常好的上下文信息,谢谢你,阿米特!