合并远程主分支

时间:2017-01-21 07:36:46

标签: git bash ubuntu

我目前正在设备上的新分支上。我想合并我对远程分支主机的修改。

我想我必须遵循这个程序,但我不确定:

git checkout origin master
git pull origin master
git merge "new_branch"
git push origin master

这个程序好吗? 是否有更有效的方法来做同样的事情?

2 个答案:

答案 0 :(得分:0)

您可以简单地获取,然后合并

git checkout newbranch
git fetch
git merge origin/master

此处,fetch足以更新您的远程跟踪分支(.git/refs/remotes/origin中的分支):您可以直接从其中一个分支合并,例如origin/master。 我喜欢git fetch因为它无法更改工作树中的任何文件,所以这是安全的第一步。
git pull将获取加上合并到当前分支。

作为附加步骤,您可以根据需要更新本地主分支 我会推荐

git config --global pull.rebase true
git config --global rebase.autoStash true

这样,这就足够了,即使你在master上做了一些本地提交,也有一些未决的修改:

git checkout master
git pull

答案 1 :(得分:0)

您建议的步骤很好(只需进行一些修改):

git checkout master      # removed origin
git pull origin master
git merge new_branch     # removed quotes
git push origin master

此方法是使用更改更新本地master分支,然后直接更新远程master。但是,如果您使用的是像GitHub或Bitbucket这样的repo提供程序,则可能无法直接更新远程master分支。在这种情况下,您将从分支到master创建拉取请求,并且您实际上将在相反方向上进行合并,即将master合并到{{ 1}}:

new_branch

从这里开始,您将在GitHub或您正在使用的任何服务中创建拉取请求。