重命名并修复更新引用的错误后无法推送分支 [英] Cannot push branch after renaming and fixing error with update-refs

查看:20
本文介绍了重命名并修复更新引用的错误后无法推送分支的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将我的本地分支从sort-rows-of-common-tables重命名为develop/sort-rows-of-common-tables,然后将其作为新分支推送到远程。我已经有一个名为develop的本地和远程分支。

所以我试了试

git branch -m develop/sort-rows-of-common-tables

但我得到了

error: 'refs/heads/develop' exists; cannot create 'refs/heads/develop/sort-rows-of-common-tables'

所以我阅读了这篇SO answer,并通过运行

成功地解决了这个问题
git update-ref -d refs/heads/develop
git branch -m develop/sort-rows-of-common-tables

现在我要在远程推送develop/sort-rows-of-common-tables分支,此分支尚不存在,而develop分支已退出。

所以我尝试运行

git push origin develop/sort-rows-of-common-tables

但我得到了

Enumerating objects: 7, done.    
Counting objects: 100% (7/7), done.    
Delta compression using up to 4 threads    
Compressing objects: 100% (4/4), done.    
Writing objects: 100% (4/4), 607 bytes | 607.00 KiB/s, done.    
Total 4 (delta 3), reused 0 (delta 0), pack-reused 0    
remote: error: cannot lock ref 'refs/heads/develop/sort-rows-of-common-tables': 'refs/heads/develop' exists; cannot create 'refs/heads/develop/sort-rows-of-common-tables'    
To my_git_repo.git    
 ! [remote rejected] develop/sort-rows-of-common-tables -> develop/sort-rows-of-common-tables (failed to update ref)    
error: failed to push some refs to 'my_git_repo.git'

看起来我收到的错误与在本地得到的错误相同,所以我打赌为了在远程修复它,我必须运行一个类似于我之前运行的命令(git update-ref -d refs/heads/develop),该命令指向远程引用。

对吗?如果是,我如何更新远程引用?

我已搜索了git documentation该问题,但没有成功。

推荐答案

看起来我收到的错误与在本地收到的错误相同,

是的,完全正确。

所以我打赌,为了在远程修复它,我必须运行一个类似于我之前运行的命令(git update-ref-d refs/head/Development),该命令针对远程引用。

差不多。您不能在远程端完全运行此命令。但您可以通过推送删除远程分支:

git push origin :develop

git push origin --delete develop

请参阅:dst--delete上的文档。

这篇关于重命名并修复更新引用的错误后无法推送分支的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆