假设您有一个包含以下合并的仓库:
master: -A-B-C-D
feature: -C-D-E-F
从母版中删除合并的C和D,然后再从功能分支合并回母版的最佳方法是什么?
master: -A-B-
feature: -C-D-E-F
需要通过向主分支的单个拉取请求(无需强制将其推入主分支,重命名分支等)来完成更改。
当我尝试以下操作时:
git checkout master
git checkout -b revert/feature
git revert -m 1 D
git revert -m 1 C
然后将其推送到远程功能,然后将功能合并回主服务器,存在合并冲突,并且C和D仍将还原。
答案 0 :(得分:0)
如果您希望还原已还原的提交,则需要还原其还原提交本身。
git checkout master
git checkout -b revert/feature
git revert -m 1 D
git revert -m 1 C
git checkout -b feature
git revert <git-revert-C-sha>
git revert <git-revert-D-sha>
答案 1 :(得分:0)
如果我正确理解了您的问题,则可以尝试从master的HEAD创建新分支,然后将来自feature的新提交添加到该分支中。
git checkout master
git checkout -b feature_to_push
git cherry-pick hash-of-E
git cherry-pick hash-of-F