Git Branch不是Stash的远程分支

时间:2017-01-16 09:57:17

标签: git branch remote-server git-stash

GIT(版本1.8.5.6)与stash一起出现问题。我使用命令

在我的开发系统上创建了本地分支
 git checkout -b <my new branch> 

毕竟我将新分支推送到远程存储服务器:

 git push -u origin <my new branch> 

现在我无法在我的测试系统上签出我的新分支,因为Stash中的分支不是远程分支。如果我运行以下命令, 我没有看到所有分支:

git branch -a

git branch -r

在结果中,我在stash中的分支不会被创建为远程分支。 现在我有两个问题。 我的分支机构不是远程分支怎么样?

是否可以更改分支并将其转换为远程分支?

以下是一些进一步的信息:

git remote show
 --> origin
git ls-remote
 --> shows all branches including that ones I have pushed from my dev system.

感谢您的推荐,

最好的问候 JORN

1 个答案:

答案 0 :(得分:0)

Git(大多数情况下)是一个离线工具。在与远程设备联系之前,您的测试系统不了解遥控器上新创建的分支。你的git ls-remote会这样做,因此会看到新的分支。

您可以git fetch --all让您的本地git了解上游存在的所有标记和分支。

通过重新克隆您的存储库,您实际上也做了同样的事情:获取所有远程标记和分支,但您重新下载了已有的所有对象。

但反之则不然:git fetch --all不会删除上游不再存在的分支。为此,您需要git remote prune origin