我已经创建了2个对远程dev
分支的提交。我将其压缩并合并到远程master
分支中。
现在,当我想继续处理dev
分支时-我不知道如何正确“修复”我的分支-因为在创建了从dev
到{{1 }}我会得到在先前的拉取请求中被压缩的所有提交的列表。
我有这样的东西:
master
如何使用提交Z从O ---- A ---- B ---- XY <--(master)
\
X ---- Y ---- Z <--(development)
到dev
来创建正确的请求请求?
答案 0 :(得分:3)
在向您的dev分支添加新提交之前,您应该先将其重置为origin/master
,因为您squashed/merge
是开发者。
为了不破坏任何内容,请从origin / master创建一个新分支:
cd /local/repo
git fetch
git checkout -b newBranch origin/master
然后报告在该新分支上的新提交:
git cherry-pick Y..Z
最后,将您的dev分支重置为新分支:
git checkout dev
git reset --hard newBranch
然后强行推动:git push --force
。
最终结果将是仅包含新提交的新PR
答案 1 :(得分:1)
如果您无法正确确定 Y
提交,以防我们讨论更复杂的情况,从 XY
还原 master
提交也有效:< /p>
git checkout master
git revert XY
git push
那么您从 dev
到 master
的拉取请求将不再有冲突。