我正在寻找解决此问题的方法:
我有分支“develop”和分支“feature-1”
我正在合并“feature-1”以开发并继续开展工作。
现在我犯了错误并创建了“feature-2”分支,指向“feature-1”而非“develop”并将更改推送到服务器
D1 - D2 - D3 - D4 - D5
\ /
F1 - F2 - F3 - F4
\
F21 - F22
现在我想合并“feature-2”到“develop” 我使用merge也合并F3提交,但没有创建合并提交(不知道为什么)
所以我有这个:
D1 - D2 - D3 - D4 - - - - - - D5
\ / /
F1 - F2 - F3 - F4 /
\ /
F21 - F22
我不想恢复这个并且使用rebase feature-2来开发
有这个:
F21 - F22
/ \
D1 - D2 - D3 - D4 - - - - D5
\ /
F1 - F2 - F3 - F4
如果没有合并提交,我如何还原该合并并在服务器上修复此问题。
答案 0 :(得分:0)
找到答案:
将develop
分支重置为原始状态,取消不在git log中的合并提交
git reset --hard origin / develop
将feature-2
移至指向主要而不是要素-1
git rebase --onto develop feature-1 feature-2
重写分支的原始状态
git push origin feature-2 --force
合并功能-2以开发
git merge feature-2
另一种解决方案就像评论樱桃选择中提到的@Vishwanath一样,希望从开发中提交给新分支。