视频教程观看地址:http://study.163.com/course/courseMain.htm?courseId=1003857005 在上节课中,我们已经把一些更改从master分支合并到我们的分支,但假如你们团队中的成员在master分支上修改了一个文件,恰巧你在SecondBranch分支上也对同一个文件进行了修改,这就会导致冲突的发生。不要担心,发生冲突很正常。我们来详细的讲解。 现在我们来制作冲突的场景。 来到master分支,然后修改如下代码: 图 1.5‑1 然后提交并同步。 图 1.5‑2 然后来到SecondBranch分支,我们的主函数已经有了一行代码,现在合并这两个分支 图 1.5‑3 然后点击合并: 图 1.5‑4 你看,我们有一个冲突的提示, 图 1.5‑5 我们必须在我们提交前解决它。所以点击“冲突“ 图 1.5‑6 我们可以使用点击“比较文件” 图 1.5‑7 这里是我们的两个版本。左边是主分支版本,右边是我们的分支。注意到,在两个版本的同一文件的同一行上都有变化。那么哪一个是正确的呢?Github肯定不知道,所以最好要和在主分支上进行更改的人沟通,并确保他同意最终结果。实际上,我们有三个情况。我们可以通过单击采用源来让主版本覆盖我们的更改,我们也可以通过点击“保持目标”,来保留我们的分支版本.再或者,我们可以使用合并工具来手动解决冲突.这里,我们使用合并工具来手动合并,点击merge. 图 1.5‑8 它又弹出了一个窗口,master分支在左边,我们的分支在右边。代码行现在突出显示,并且在每个代码旁边都有复选框。最终结果将保留我们检查的任何行。我们可以把这2个复选框都选上,您可以在底部看到,改变会实时的显示在结果中。 图 1.5‑9 但是,因为现在我们不知道该不该保留主分支的代码,所以我们要找到修改主分支的那个人,那么,我们如何确定谁改变了主分支的代码呢?我们可以看看这个文件提交的历史,但还有一个更快捷的功能,它能够让我们查看文件的每一行在提交时是谁修改的,这个功能被称为批注. 所以,让我们的转换到主分支,为了做到这一点,我们需要暂时中止我们的合并,.但是别担心,我们可以回来的, 图 1.5‑10 现在我们切换到主分支,然后它会弹出这个窗口,我们选择“是”。 图 1.5‑11 然后右键点击program.cs,并选择“批注” 图 1.5‑12 在左边,你可以看到提交ID,以及做出更改的贡献者的用户名和提交的日期。 通过这个操作,现在我们就可以联系到和我发生冲突的那个人。然后我们可以再次使用合并工具。所以,更改到我们的分支,并从master分支合并,你看,再次发生冲突。 图 1.5‑13 我们将单击“合并”,然后点击:合作工具。 图 1.5‑14 因为在这里,始终就我一个人在操作,所以这里我就保留SecondBranch分支上的版本,因此,我们将选中代码行旁边的框。 图 1.5‑15 注意到,在顶部的箭头可以帮助您导航更改或者冲突。假如我们有一个非常大的文件有很多冲突,我们可以使用这些中间的箭头从一个冲突跳到下一个。 图 1.5‑16 现在我们改好了,因此我们点击“接受合并”: 图 1.5‑17 现在它说,没有剩余的冲突。 图 1.5‑18 如果由于某种原因我们需要撤消我们的合并操作,我们可以点击这里的“撤消合并”, 图 1.5‑19 但我们对一切感到满意,所以让我们“提交合并”. 图 1.5‑20 它需要提交消息:Merge from master branch。接着,我们提交并同步。现在就没有冲突了。 图 1.5‑21 这就是关于冲突的解决,还有一些我想告诉你的建议。有时你可能会遇到问题或高级场景,需要使用到命令行。所以,你最好安装命令行工具。比如,git for windows,如果你碰到解决不了的问题,不用担心。有很多人使用GIT,他们可能遇到相同的问题,你都可以通过Google搜索到,.如果你不能使用Google,不要忘记我们的虚幻账号,你可以联系我的私人微信oxoxwork购买。如果你对github不算特别清楚,你也可以关注我们的另一门课程,Github全面详解。相信现在你已经可以使用Github在Visual Studio中共享你的代码和协作了。我通过和其他人合作学习了很多Git知识,所以行动起来,这样进步才最快最明显。 更多精彩内容尽在视频中! 本文固定链接:http://www.oxox.work/web/github-visualstudio/resolve-conflict/ | 虚幻大学
查看原文:http://www.oxox.work/web/github-visualstudio/resolve-conflict/
GitHub完美适配Visual Studio-05 解决冲突
最新推荐文章于 2023-07-31 16:26:54 发布