Git 在远程主分支上合并
我目前正在设备上的一个新分支上。我想合并我对远程分支主机所做的修改 我想我必须遵循这个程序,但我不确定:Git 在远程主分支上合并,git,bash,ubuntu,Git,Bash,Ubuntu,我目前正在设备上的一个新分支上。我想合并我对远程分支主机所做的修改 我想我必须遵循这个程序,但我不确定: git checkout origin master git pull origin master git merge "new_branch" git push origin master 这个程序好吗? 有没有更有效的方法来做同样的事情?您只需获取,然后合并即可 git checkout newbranch git fetch git merge origin/master 在这里,
git checkout origin master
git pull origin master
git merge "new_branch"
git push origin master
这个程序好吗?有没有更有效的方法来做同样的事情?您只需获取,然后合并即可
git checkout newbranch
git fetch
git merge origin/master
在这里,fetch
足以更新远程跟踪分支(在.git/refs/remotes/origin
中的分支):您可以直接从其中一个分支合并,如origin/master
我喜欢它,因为它不会更改工作树中的任何文件,所以这是安全的第一步。
将获取并合并到当前分支中 作为附加步骤,您可以根据需要更新本地主分支。
我推荐
git config --global pull.rebase true
git config --global rebase.autoStash true
这样,即使您已经在master上进行了一些本地提交,并且有一些挂起的修改,这也足够了:
git checkout master
git pull
git checkout master # removed origin
git pull origin master
git merge new_branch # removed quotes
git push origin master
您建议的步骤很好(有一些修改): 这种方法是用更改来更新本地
主机
分支,然后直接更新远程主机
。但是,如果您使用的是诸如GitHub或Bitbucket之类的回购提供商,则可能无法直接更新远程主
分支。在这种情况下,您将创建一个从分支到master
的pull请求,实际上您将以相反的方向进行合并,即您将master
合并到新分支
:
git fetch origin # update origin/master
git checkout new_branch
git merge origin/master
git push origin new_branch
从这里,您可以在GitHub或您正在使用的任何服务中创建一个pull请求。您能告诉我fetch和pull之间的区别吗?
git pull=git fetch+git merge
(大部分情况下)