git分支:``git merge master``和``git pull origin master``之间的区别
假设我有一个新的feature
分支和一个master
分支。我做了一些更改并将它们提交到feature
分支,但后来我结帐master
并添加了其他更改。我想要做的就是获取master
的更改并将其应用于feature
。我该怎么办?与master
合并?git分支:``git merge master``和``git pull origin master``之间的区别
git checkout feature
git merge master
还是从master
拉更改?
git checkout feature
git pull origin master
这两个选项有什么区别?
git pull
实质上是git fetch
和git merge
的组合。因此,与仅使用git merge
的区别在于,它将首先从远程存储库获取新修订版,然后然后执行合并。
如果您的本地master
分支是最新的,这将没有什么区别,但如果它已过时,git pull
将确保您合并来自远程存储库的最新更改。
如果你想获得所有的有在主分支进入到特性分支的内容,那么你可以做
git checkout feature
git merge master
如果你只是想获得您在主分支上的提交,然后将它们应用到功能分支,然后您可以执行以下操作。
获取感兴趣的提交ID
git log master
然后切换到功能分支
git checkout feature
接着从该提交ID的变化,应用此功能的分支。这就是所谓的cherry-pick
“荷兰国际集团在世界git
git cherry-pick <commid_id>
这正是我所做的,前两个步骤,但这些更改未合并到“功能”中...... – amb
您很可能没有将更改提交到主分支。我每天都会使用上面的命令,它工作正常。 – user376507
到底发生了什么,我的回购协议是,我已经失去了''master''(所做的更改不会''master''分支本身,而是在当使用第一个选项与“feature”合并时,生成的结果是“feature”。这就像合并操作决定保留一些未经修改的文件的''feature''版本,而不是获得''master''版本。 – amb