我有一个master和一个development分支,都推到了GitHub.我cloneð,pullED和fetchED,但我仍然无法获得比其他任何master分支回来.
我确定我错过了一些明显的东西,但是我已经阅读了手册,而且我一点也不开心.
我克隆了一个Git存储库,它包含大约五个分支.但是,当我这样做时,git branch我只看到其中一个:
$ git branch
* master
Run Code Online (Sandbox Code Playgroud)
我知道我可以git branch -a看到所有分支,但是我如何在本地拉出所有分支,所以当我这样做时git branch,它显示以下内容?
$ git branch
* master
* staging
* etc...
Run Code Online (Sandbox Code Playgroud) 我经常至少有3个远程分支:master,staging和production.我有3个本地分支跟踪那些远程分支.
更新我所有的本地分支机构很繁琐:
git fetch --all
git rebase origin/master
git checkout staging
git rebase origin/staging
git checkout production
git rebase origin/production
Run Code Online (Sandbox Code Playgroud)
我很乐意能够做一个"git pull -all",但我无法让它发挥作用.它似乎执行"fetch --all",然后更新(快进或合并)当前工作分支,而不是其他本地分支.
我仍然卡在手动切换到每个本地分支和更新.
我已经使用该--track选项设置了跟踪分支,当我执行操作git pull时master,它会获取所有分支origin/branchname但不与本地跟踪分支合并.这是额外的烦人,因为如果我以后做一个git push上master,它说,非快速向前更新被拒绝在跟踪分支,因为他们并没有在最初的快速转发git pull.
我的问题是:如何git pull通过获取所有分支并自动快进所有跟踪分支来实现它?
注意:git pull用于使用我的GitHub存储库快速转发所有跟踪分支,但现在我已经使用Gitolite建立了自己的存储库,这个问题正在出现.