如果我忘记推送提交并从本地开发分支创建功能分支,如何解决 GIT 冲突?
How to resolve GIT conflict if I forgot to push the commits and created a feature branch from my local develop branch?
我正在寻找一种简单的方法来解决我当前的 git 冲突。
这是怎么回事:
- 在我的开发分支上创建的本地提交 (5)(没有推送它们)
- 从我的本地开发分支创建的功能分支
- 功能分支开发完成,已推送提交
- 来自功能分支的 PULL 请求合并开发
- 现在我检查了我的本地开发分支,当我尝试同步时,我看到已经有传入和传出的提交,现在我意识到我忘了早点推送它们,我猜我遇到了麻烦。 ..
- (尝试同步,但毫不奇怪它有很多冲突)
我希望它是可以理解的,并且有人可以帮助我。谢谢!
如果您在创建 feature
分支后没有在本地 develop
分支上进行任何新提交(feature
分支被推送,然后合并到远程origin/develop
分支),你可以简单地:
- 从
origin
中获取
- 将您当前的
develop
分支重置为 origin/develop
(对于上述情况或以下情况,我会将您的本地存储库保存在一个重复的文件夹中,以防出现问题)
那会起作用,因为 origin/develop
确实包括您本地的 develop
+feature
工作,通过拉取请求合并到 origin/develop
。
如果您在创建功能后在开发上完成了提交,则可以在 origin/develop
之上对这些新提交进行变基
git fetch origin
git branch tmp origin/develop
git rebase --onto tmp $(git merge-base feature develop) develop
git branch -f develop tmp
git switch develop
我正在寻找一种简单的方法来解决我当前的 git 冲突。
这是怎么回事:
- 在我的开发分支上创建的本地提交 (5)(没有推送它们)
- 从我的本地开发分支创建的功能分支
- 功能分支开发完成,已推送提交
- 来自功能分支的 PULL 请求合并开发
- 现在我检查了我的本地开发分支,当我尝试同步时,我看到已经有传入和传出的提交,现在我意识到我忘了早点推送它们,我猜我遇到了麻烦。 ..
- (尝试同步,但毫不奇怪它有很多冲突)
我希望它是可以理解的,并且有人可以帮助我。谢谢!
如果您在创建 feature
分支后没有在本地 develop
分支上进行任何新提交(feature
分支被推送,然后合并到远程origin/develop
分支),你可以简单地:
- 从
origin
中获取
- 将您当前的
develop
分支重置为origin/develop
(对于上述情况或以下情况,我会将您的本地存储库保存在一个重复的文件夹中,以防出现问题)
那会起作用,因为 origin/develop
确实包括您本地的 develop
+feature
工作,通过拉取请求合并到 origin/develop
。
如果您在创建功能后在开发上完成了提交,则可以在 origin/develop
git fetch origin
git branch tmp origin/develop
git rebase --onto tmp $(git merge-base feature develop) develop
git branch -f develop tmp
git switch develop