让我们说,我有一个分支,我自己的更改和一个提交。但远程分支也是一些提交。在本地合并远程更改的最佳方法是什么,不生成合并提交?
答案 0 :(得分:3)
您可以使用rebase(git rebase
):
git checkout branch
git fetch origin
git rebase origin/branch
您将在更新的远程跟踪分支origin/branch
之上重播您的提交(将branch
替换为分支的实际名称)
更短:
git pull --rebase origin branch
这是有效的,因为您尚未推送“branch
”,并允许您在本地解决任何合并问题。
答案 1 :(得分:1)
您可以进行简单合并,也可以在远程分支上重新定义更改
L1:本地提交
B-C-D远程提交
A--L1
\
B--C--D
A--B--C--D--L1
做一个简单的fetch
,然后是rebase
。
答案 2 :(得分:1)
我建议对远程分支进行重组,然后再推送。
git rebase remote_branch
只会将您的提交置于远程更改之上。
然后
git push
将在没有任何合并提交的情况下向上游发送更改。