Gab*_*vay 5 git branch git-clone git-remote
在我克隆了一个存储库后,一个新分支test已添加到origin远程。但我仍然看到:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
我应该使用什么 git 命令来获得以下输出:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test
Run Code Online (Sandbox Code Playgroud)
git checkout 远程分支问题不是我的问题,因为这是在我看到所有远程分支引用之后发生的。
我无法再次克隆该存储库,因为其中有本地更改/提交。
那么,如何使用 git 命令将新的远程分支引用引入我的存储库?
我正在使用具有以下分支的 BitBucket 存储库:
试炼
git fetch不起作用:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git fetch
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$ git fetch origin
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
Run Code Online (Sandbox Code Playgroud)
简单的git fetch应该就够了。
这会将原始/测试带到您的存储库中。
然后 agit checkout -b test origin/test将在本地声明该分支。
OP Gabriel Petrovay确认(在评论中)问题的根源:
git 配置文件略有变化。
- 在新克隆的存储库
[remote "origin"]中fetch = +refs/heads/*:refs/remotes/origin/*- 但旧的回购协议有
fetch = +refs/heads/master:refs/remotes/origin/master。我感觉这就是问题所在。
真的是。
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
Run Code Online (Sandbox Code Playgroud)
那应该可以解决它。