如何使用git与master保持最新关系?


126

我的主人中有一个错误修复程序,并且我也希望我的分支机构获得该错误修复程序。git我使用什么命令?

Answers:


172

假设您能熟练掌握master的所有更改,那么您想要的是:

git checkout <my branch>

将工作树切换到您的分支;然后:

git merge master

将所有更改与您的master合并。


5
这只是将我的母版中的更改添加到我的分支中,而让母版独自一人,对吗?
Nic Hubbard

3
@Nic-这将带来来自master的所有提交,而不仅仅是bug修复。确保这是您要执行的操作。
manojlds 2011年

12
@Nic-正确,这不会修改master。
John Doty

16
建议最好使用初始的“ git checkout master; git pull”,以确保本地master分支是最新的。通常很明显,但是…
MikeW

作为主结帐/合并快捷方式,您是否可以执行“ git pull origin master”来将服务器主结/合并拉入本地已结帐分支?
user1172173

66

如果您的分支仅是本地分支,并且尚未推送到服务器,请使用

git rebase master

否则,使用

git merge master

18
因为它修改了提交历史记录,并且您不想将修改后的搜索历史记录推送到服务器。
Chetan

1
如果您使用的是SVN仓库作为远程仓库-通过git svn-然后将git rebase master是要走的路,保持线性的历史,这是SVN理解。
alondono

15

您可以使用cherry-pick来获取特定的错误修复提交

$ git checkout branch
$ git cherry-pick bugfix

仅当bugfix是已合并回master的分支时,cherry-pick才会起作用?
Prasith Govin,

1
您可以选择,但是在将分支合并到master之后(分支准备就绪时),您将在历史记录中两次进行bug修复提交。
2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.