我无法让Git在遥控器上获取新的分支。 git remote show
不会显示除master之外的任何分支,但git ls-remote
证明它们存在。
示例:git ls-remote
显示分支homodyne_process存在 -
$ git ls-remote origin
b935ee960a588144d3df0f08a82b81ea705c7543 HEAD
f11bd3ac9c2345a12edb9d49cd5bd027616b2226 refs/heads/homodyne_process
b935ee960a588144d3df0f08a82b81ea705c7543 refs/heads/master
获取更新并显示远程分支
$ git fetch
$ git remote show origin
* remote origin
Fetch URL: gitolite@git.uio.no:***
Push URL: gitolite@git.uio.no:***
HEAD branch: master
Remote branch:
master tracked
Local branches configured for 'git pull':
master merges with remote master
Local refs configured for 'git push':
homodyne_process pushes to homodyne_process (fast-forwardable)
master pushes to master (up to date)
$ git branch -r
origin/master
我设法在运行
后获得homodyne_process pushes (...)
行
git pull origin homodyne_process:homodyne_process
但它仍然不会显示远程分支确实存在。为什么会这样?
我还尝试过任何git fetch origin homodyne_process
和许多组合,但分支origin/homodyne_process
将不会出现。
我在Windows上工作,回购通过gitolite托管。
(为简洁起见,我已从输出中删除了一些其他分支。)
答案 0 :(得分:9)
这个答案解决了我的问题https://stackoverflow.com/a/25941875/1982894。
基本上我需要运行
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
这会设置git来获取所有远程分支而不仅仅是master。原始配置是:
$ git config --get remote.origin.fetch
+refs/heads/master:refs/remotes/origin/master