首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在移除远程分支后,git上游消失了。

在移除远程分支后,git上游消失了。
EN

Stack Overflow用户
提问于 2017-02-04 07:06:19
回答 2查看 1.7K关注 0票数 3

我好像把我的口香糖弄得一团糟。

我首先重命名为分支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.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-04 07:18:53

以下是你迄今所做的事情

代码语言:javascript
复制
git branch -m Sprint13/Story/XXX-11

这将本地分支Sprint/13/Story/XXX-11重命名为Sprint13/Story/XXX-11

然后你做了这个

代码语言:javascript
复制
git branch --delete --remotes origin/Sprint/13/Story/XXX-11

这将删除原始分支的远程跟踪分支。请注意,此分支是实际的本地分支,每次从远程存储库提取时都充当本地分支的同步点。

为了解决这种情况,我认为您应该首先在本地删除重命名的分支:

代码语言:javascript
复制
git branch -d Sprint13/Story/XXX-11      # delete local new renamed branch

然后以新的名称将旧的本地分支推到远程:

代码语言:javascript
复制
git push origin Sprint/13/Story/XXX-11:Sprint13/Story/XXX-11

现在,您可以通过以下方式将这个分支拉到本地的Git:

代码语言:javascript
复制
git pull origin Sprint13/Story/XXX-11

在此过程中,Git还将为您创建一个指向正确位置的本地跟踪分支。

为了进行清理,您现在可以删除旧的本地分支以及它的远程对应方:

代码语言:javascript
复制
git branch -d Sprint/13/Story/XXX-11      # delete old local branch
git push origin :Sprint/13/Story/XXX-11   # delete old remote branch
票数 4
EN

Stack Overflow用户

发布于 2017-02-04 07:17:36

首先,重命名分支的语法是:

代码语言:javascript
复制
git branch -m [<oldbranch>] <newbranch>

因此,您需要确保在重命名之前已经签出了Sprint/13/Story/XXX-11

要确定,请键入完整重命名命令:

代码语言:javascript
复制
git branch -m Sprint/13/Story/XXX-11 Sprint13/Story/XXX-11

然后,如果您的当前分支被重命名,您可以使用git branch进行检查。

最后,这不影响远程跟踪分支。

你需要做一个:

代码语言:javascript
复制
git push -u origin Sprint13/Story/XXX-11 

若要在远程回购上创建同名的远程分支,请执行以下操作。

git push origin :Sprint/13/Story/XXX-11删除旧的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42037585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档