git branchching:``git merge master``和``git pull origin master``之间的区别

时间:2013-12-13 12:48:18

标签: git version-control merge

假设我有一个新的feature分支和一个master分支。我做了一些更改并将它们提交到feature分支,但随后我结帐master并添加了其他更改。我想要做的是获取master的更改并将其应用到feature。我该怎么办?与master合并?

git checkout feature
git merge master

或从master

提取更改
git checkout feature
git pull origin master

这两个选项有什么区别?

2 个答案:

答案 0 :(得分:1)

git pull基本上是git fetchgit merge的组合。因此,仅使用git merge的区别在于它将首先从远程存储库获取新版本,然后然后执行合并。

如果您的本地master分支是最新的,这将没有任何区别,但如果它已过时,git pull将确保您合并来自远程存储库的最新更改。

答案 1 :(得分:0)

如果您想将master分支中的所有内容都添加到功能分支中,那么您可以

git checkout feature
git merge master

如果您只想获得在master分支中提交的提交,然后将它们应用于功能分支,那么您可以执行以下操作。

获取感兴趣的提交ID

git log master

然后切换到功能分支

git checkout feature

然后从此提交ID中选择更改并将其应用于功能分支。这在cherry-pick世界中被称为git

git cherry-pick <commid_id>