繁体   English   中英

如果我忘记推送提交并从本地开发分支创建功能分支,如何解决 GIT 冲突?

[英]How to resolve GIT conflict if I forgot to push the commits and created a feature branch from my local develop branch?

我正在寻找一种简单的方法来解决我当前的 git 冲突。

事情是这样发生的:

  1. 在我的开发分支上创建的本地提交(5)(不推送它们)
  2. 从我的本地开发分支创建的功能分支
  3. 功能分支开发完成,提交已推送
  4. 来自功能分支的 PULL 请求以开发合并
  5. 现在我检查了我的本地开发分支,当我尝试同步时,我看到也已经有传入和传出的提交,现在我意识到我忘记提前推送它们并猜测我遇到了麻烦......
  6. (尝试同步但不出意外它有很多冲突)

我希望这是可以理解的,请有人可以帮助我。 谢谢!

如果自从您创建了feature分支(推送的feature分支,然后合并到远程origin/develop分支)之后,您还没有在本地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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM