我好像把我的口香糖弄得一团糟。
我首先重命名为分支Sprint/13/Story/XXX-11的分支
使用此方法:
git branch -m Sprint13/Story/XXX-11
这不会远程重命名它,而且我的git状态中满是关于未合并和未拉出的更改的消息。
所以我想我应该删除远程分支,所以我做了如下操作:
git branch --delete --remotes origin/Sprint/13/Story/XXX-11
现在,当我执行git状态时,我得到以下消息:Your branch is based on 'origin/Sprint/13/Story/XXX-11', but the upstream is gone.
发布于 2017-02-04 07:18:53
以下是你迄今所做的事情
git branch -m Sprint13/Story/XXX-11这将本地分支Sprint/13/Story/XXX-11重命名为Sprint13/Story/XXX-11。
然后你做了这个
git branch --delete --remotes origin/Sprint/13/Story/XXX-11这将删除原始分支的远程跟踪分支。请注意,此分支是实际的本地分支,每次从远程存储库提取时都充当本地分支的同步点。
为了解决这种情况,我认为您应该首先在本地删除重命名的分支:
git branch -d Sprint13/Story/XXX-11 # delete local new renamed branch然后以新的名称将旧的本地分支推到远程:
git push origin Sprint/13/Story/XXX-11:Sprint13/Story/XXX-11现在,您可以通过以下方式将这个分支拉到本地的Git:
git pull origin Sprint13/Story/XXX-11在此过程中,Git还将为您创建一个指向正确位置的本地跟踪分支。
为了进行清理,您现在可以删除旧的本地分支以及它的远程对应方:
git branch -d Sprint/13/Story/XXX-11 # delete old local branch
git push origin :Sprint/13/Story/XXX-11 # delete old remote branch发布于 2017-02-04 07:17:36
首先,重命名分支的语法是:
git branch -m [<oldbranch>] <newbranch>因此,您需要确保在重命名之前已经签出了Sprint/13/Story/XXX-11。
要确定,请键入完整重命名命令:
git branch -m Sprint/13/Story/XXX-11 Sprint13/Story/XXX-11然后,如果您的当前分支被重命名,您可以使用git branch进行检查。
最后,这不影响远程跟踪分支。
你需要做一个:
git push -u origin Sprint13/Story/XXX-11 若要在远程回购上创建同名的远程分支,请执行以下操作。
和git push origin :Sprint/13/Story/XXX-11删除旧的。
https://stackoverflow.com/questions/42037585
复制相似问题