在我的存储库中,我有一个名为aq的分支,我正在处理它。

然后我在master中提交了新的工作和bug。

将这些提交到aq分支的最佳方法是什么?从master中创建另一个新分支,并将其与aq合并?


当前回答

检查aq分支,并从主基地。

git checkout aq
git rebase master

其他回答

你有几个选择。git将master aquto重置到将保留提交名称的分支上,但如果这是一个远程分支,则不要重置。如果你不关心保留提交名称,你可以得到合并主aq。如果你想保留提交名称,并且它是一个远程分支,git会选择<commit hash>将提交到你的分支。

对于我来说,我已经进行了更改,我想从基础分支获得最新的更改。我无法做rebase,而选择将花费很长时间,所以我做了以下工作:

git fetch origin <base branch name>  
git merge FETCH_HEAD

在这种情况下:

git fetch origin master  
git merge FETCH_HEAD

与aq合并

git checkout master
git pull
git checkout aq
git merge --no-ff master
git push

不能保证主错误修复不在其他提交中,因此不能简单地合并。做

git checkout aq
git cherry-pick commit1
git cherry-pick commit2
git cherry-pick commit3
...

假设这些提交代表bug修复。

但是从现在开始,将错误修复放在一个单独的分支中。你就可以

git merge hotfixes

当你想要将它们全部滚动到常规开发分支时。

检查aq分支,并从主基地。

git checkout aq
git rebase master