这可能是How to keep a git branch in sync with master的重复(我假设我可以将Master替换为另一个分支),但这一点至关重要,并且不会合并错误的方法,所以我需要确保。
方案
有一个名为v1
的分支,我创建了一个名为v1_adminui
的分支。我已经向我的分支v1_adminui
做了大约10次提交,但是在v1
中对项目的另一部分进行了重大改进,所以我想将该更改与我当前的分支同步。
我相信以下会这样做:
git checkout v1
git pull
git checkout v1_adminui
git merge v1
请您确认这是否正确?如果没有,任何帮助将不胜感激如何实现这一点。
答案 0 :(得分:4)
由于您是唯一一位在此分支上工作的人,因此您应使用rebase
代替merge
。
# Get the base branch
git checkout v1
# Pull in any changes to make sure you have the latest version
git pull
# Check out your branch
git checkout v1_adminui
# Rebase your changes on top of the v1 changes
git rebase v1
# Optionally push your rebased branch
git push origin v1_adminui
在推送最后一步时,您可能必须使用--force
选项。由于您使用rebase重写了分支的历史记录,因此远程分支将具有不同的历史记录。只有在没有其他人使用这个分支时才这样做!