我设置了一个GitHub项目(origin
)。
然后我将这个仓库克隆到一堆不同的机器上(例如我的本地计算机,生产环境,临时环境等)。
我在本地计算机上进行了更改,然后转到origin
。
最后,我将我的开发分支合并到origin/master
。
然后我想将这些更改从origin/master
提取到我的生产环境中,所以;
root@production$ git --version
git version 1.7.9.5
root@production$ git remote
origin
root@production$ git branch -r
origin/HEAD -> origin/master
origin/master
...
从这里开始,我已经尝试了一切;
git fetch
git checkout master
----------------------------------
git checkout origin/master
----------------------------------
git checkout -b origin/master HEAD
但它们都没有奏效(即,这些变化从未反映过)。直到我做完
git pull origin master
它终于奏效了。但我不明白为什么我不能结账主人呢?我在SO上阅读的所有内容都表示使用checkout
(git checkout remote branch
) - 我不明白:S
答案 0 :(得分:1)
git fetch
获取对象并更新远程origin/master
;它不会改变任何本地分支机构。要在获取后将origin/master
合并回master
,您可以使用merge
:
git merge origin/master
git pull
只是git fetch
加上git merge
。您通常甚至不必指定分支和远程名称;如果您已将分支的上游设置为origin
,则可以运行:
git pull
它会假设你想要获取当前分支的上游并将其合并到当前分支中。