我目前正在设备上的新分支上。我想合并我对远程分支主机的修改。
我想我必须遵循这个程序,但我不确定:
git checkout origin master
git pull origin master
git merge "new_branch"
git push origin master
这个程序好吗? 是否有更有效的方法来做同样的事情?
答案 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或您正在使用的任何服务中创建拉取请求。