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答案 0 :(得分:0)
Git(大多数情况下)是一个离线工具。在与远程设备联系之前,您的测试系统不了解遥控器上新创建的分支。你的git ls-remote
会这样做,因此会看到新的分支。
您可以git fetch --all
让您的本地git了解上游存在的所有标记和分支。
通过重新克隆您的存储库,您实际上也做了同样的事情:获取所有远程标记和分支,但您重新下载了已有的所有对象。
但反之则不然:git fetch --all
不会删除上游不再存在的分支。为此,您需要git remote prune origin
。