首页 > 解决方案 > git - 拉入另一个分支已更新的工作

问题描述

我和另一个人一直在不同的分支上工作,但是我需要其他用户分支的一些工作。

几天前 - 我用git merge origin/other-persons-branch在自己的分支上。这工作正常,从那时起我在上面添加了一些提交。但是 - 我必须再次将他们的更改拉到我的分支上,如果我git merge origin/other-persons-branch再次这样做,它会有一大堆合并冲突。

我尝试了一个普通的 rebase ( git rebase origin/other-persons-branch) 作为测试——它也有同样的合并冲突。

我想知道是否有更好和/或更清洁的方法来做到这一点。我正在考虑恢复作为它们合并的提交数组,并可能再次尝试合并。我认为这样做的问题较少。欢迎任何见解!

标签: git

解决方案


通常你需要更喜欢主分支(通常master)。或者如果你不能准备好把它交给主控,你必须考虑作为主控的一些主分支。假设你有分支main

您通过创建一个current分支开始工作:

  • git fetch origin从远程更新主分支
  • git checkout -b current origin/maincurrent基于main分支创建并切换到分支

因此,当您完成一些工作时,您可以将下一步工作放到main,(假设您在current分支中):

  • git fetch origin从远程更新主分支
  • git rebase origin/main在主分支之上重新调整你的工作
  • git push origin current:main- 让你在current分支中工作到远程main分支

所有团队成员都必须使用相同的方法。任何操作,如amend提交等,只能在 rebase 并将提交推送到远程之前执行。


推荐阅读