在我的存储库中,我有一个名为aq的分支,我正在处理它。
然后我在master中提交了新的工作和bug。
将这些提交到aq分支的最佳方法是什么?从master中创建另一个新分支,并将其与aq合并?
在我的存储库中,我有一个名为aq的分支,我正在处理它。
然后我在master中提交了新的工作和bug。
将这些提交到aq分支的最佳方法是什么?从master中创建另一个新分支,并将其与aq合并?
当前回答
对于我来说,我已经进行了更改,我想从基础分支获得最新的更改。我无法做rebase,而选择将花费很长时间,所以我做了以下工作:
git fetch origin <base branch name>
git merge FETCH_HEAD
在这种情况下:
git fetch origin master
git merge FETCH_HEAD
其他回答
这个(从这里)对我很有用:
git checkout aq
git pull origin master
...
git push
引用:
Git pull origin master获取并合并master的内容 分支和你的分支并创建一个合并提交。如果有的话 合并冲突将在此阶段通知您,您必须解决 在继续之前提交合并。当你准备好推你的 本地提交,包括新的合并提交,到远程服务器, 运行git push。
不能保证主错误修复不在其他提交中,因此不能简单地合并。做
git checkout aq
git cherry-pick commit1
git cherry-pick commit2
git cherry-pick commit3
...
假设这些提交代表bug修复。
但是从现在开始,将错误修复放在一个单独的分支中。你就可以
git merge hotfixes
当你想要将它们全部滚动到常规开发分支时。
您也可以通过运行一行来实现这一点。 Git合并aq master
这相当于
git checkout aq
git merge master
第一次退房要掌握:
git checkout master
做所有的更改,热修复和提交,并推动你的master。
回到你的分支'aq',并在其中合并master:
git checkout aq
git merge master
你的分支将是最新的。一个很好的和基本的合并例子是3.2 Git分支-基本分支和合并。
你有几个选择。git将master aquto重置到将保留提交名称的分支上,但如果这是一个远程分支,则不要重置。如果你不关心保留提交名称,你可以得到合并主aq。如果你想保留提交名称,并且它是一个远程分支,git会选择<commit hash>将提交到你的分支。