拉请求中的Git冲突

dis*_*dia 14 github merge-conflict-resolution

我有2个分支 - masterdevelop

我一直在我的develop分支中做一些拉取请求,其中包含5个项目,其中它与中的项目数相同master.

然而,有人做了一些提交,并pushed在一些更多的项目进入master分支,因此现在它有8个项目.

由于我的拉请求develop仍然尚未批准/合并,每当我尝试更新我的拉取请求时,我收到消息说明This pull request can't be merged. You will need to resolve conflicts to be able to merge并要求我执行以下操作:

git fetch origin master
git checkout develop 
git merge FETCH_HEAD
git commit
git push origin HEAD
Run Code Online (Sandbox Code Playgroud)

这种情况发生在我"推出"我的提交之后,有时让我感到困惑.然后我意识到它要求我重新添加并重新提交另外3个新项目.那么这是否意味着我必须确保我的这两个分支之间的项目和内容应该一如既往?我一直都在使用git pull/fetch但是有没有更好的方法让我确定?

Pee*_*eja 18

这意味着GitHub想要将你的PR分支合并到master,但它不能,因为存在冲突.正如您在问题评论中所讨论的那样,处理此问题(通常)的最佳方法是将您的master分支合并到develop命令行中.这将告诉你冲突并要求你解决它们.一旦你完成并推动了合并,PR将合并回master使用GitHub上的绿色按钮.

可以简单地合并你的deploy分支master(我觉得这听起来更合理).在这种情况下,你将彻底绕过PR.你必须关闭PR"unmerged",然后单独手动推送合并提交master.

通过第一种方式,

  1. 通过合并到GitHub上的主人,使用PR,你可以做出更好的审计跟踪;
  2. 在合并之后,您的团队有机会审查您的代码,然后才能登陆master; 和
  3. 如果您有检查PR的自动测试(例如Travis CI或CircleCI),您也可以给他们运行合并代码的机会.