来自GitHub的git checkout

时间:2014-03-31 01:33:04

标签: git github

我设置了一个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上阅读的所有内容都表示使用checkoutgit checkout remote branch) - 我不明白:S

1 个答案:

答案 0 :(得分:1)

git fetch获取对象并更新远程origin/master;它不会改变任何本地分支机构。要在获取后将origin/master合并回master,您可以使用merge

git merge origin/master

git pull只是git fetch加上git merge。您通常甚至不必指定分支和远程名称;如果您已将分支的上游设置为origin,则可以运行:

git pull

它会假设你想要获取当前分支的上游并将其合并到当前分支中。