Github全面详解-13解决文件冲突

xiaoxiao2021-02-27  400

视频教程观看地址:http://study.163.com/course/courseMain.htm?courseId=1003674052 假设在合并我们的pull request到主分支之前,我们想要对add-readme分支添加额外的修改。这真的很简单。我们需要做的是在我们的文本编辑器中对文件进行所需的更改,然后提交更改,并再push回add-readme分支就可以了。 然而,在这节课,我们将通过在GitHub网站上以及在我们的本地副本上提交更改来故意创建冲突。当你刚开始使用Git和GitHub时,我的建议是不要在网站上文件进行任何编辑。而是,在本地计算机中执行所有工作,这样将帮助您有效的避免冲突。 如果你只是从本地计算机上push更改而且这个项目就你一个人维护的话,那么你将永远与远程代码仓库同步。 但是,如果您开始在一个团队中和他人协作,他们可能在你工作时,向远程分支push一个更改,而且这个更改和你正在本地做的更改是同一个文件,那么,就会导致冲突。 这是一个相当普遍的问题,它并不意味着世界末日,但是它是很可怕的,所以让我们练习创建和修复合并冲突。 所以,回到我的代码视图,这里,切换到到add-readme分支。 图 2-49 假如说现在,我想添加一个表情到我的README文件。 我将点击README.md文件,然后点击这里的编辑按钮。 图 2-50 图 2-51 在里面修改这个文件: 图 2-52 然后预览这次修改: 图 2-53 看起来不错。 所以这里我将添加一个提交更改的说明: “更新README.md,添加表情”。 图 2-54 这里还可以添加一个可选的扩展描述,然后我单击commit changes来直接提交对add-readme分支的更改。 现在,来到打开本地的readme文件: 图 2-55 通常情况下,如果我们对远程代码仓库有任何更改,我们将会使用命令git pull来获取远程更改。这样可以保持同步,总之,一定要在你push之前pull。 但是,假如这里,我忘记了我在远程存储库上进行了更改,并且我还继续在这里为我的README添加一些信息。然后保存。 图 2-56 所以在控制台中,我将运行git branch。让我们确保我在正确的分支。 图 2-57 我还在add-readme分支,很好。 所以现在,我将添加和提交我的更改。 git add. git commit –m “add profile” 还是一样,接着git push origin add-readme。 图 2-58 出现了这个情况,这是怎么回事? 这里提示说:push失败,更新被拒绝,因为您远程所做的工作没有包含在本地,这通常是由另一个代码仓库推送到同一个引用引起的: 好吧,这是对的,我并没有在push之前pull,对吧? 所以现在我键入git pull origin add-readme。 然后,我得到一个新的错误消息。 图 2-59 CONFLICT:README.md文件的合并冲突。自动合并失败;修复冲突,然后提交结果。 好吧,所以这里我们可以重新打开README.md。 图 2-60 我们可以看到这里有一堆东西。 它看起来有点可怕,但我们会通过它。 好吧,我们可以看到有很多错误和冲突标记,它显示我们在哪里发生冲突。 在中间,有一系列等号来分隔两个版本。 在顶部,是我在本地计算机上的最近的提交,在等号下面是我在GitHub上所做的改变。 这里,我需要选择保留哪些内容。这里,我想保留表情的那部分, 所以我只需要删除“自由自在学知识,就用虚幻账号”,和所有这些冲突标记,并保存。 图 2-61 然后回到我们的控制台, 我们将做一个git status。 没毛病,接着,会做一个git add . 。 git commit –m”解决合并冲突”, 我会去git push origin add-readme。 现在我们回到远程代码仓库。来到Pull request标签下。 图 2-62 点击进去,你可以在这里看到我的提交历史,更新README.md文件添加 此外,如果我们切换到提交视图,我们可以看到文件提交的历史。 现在我已经添加了我们的额外的评论,而且修复了提交冲突, 那么,现在让我们回到会话视图,点击Merge pull request并确认合并。 点击确认合并。 这里提示:pull request成功合并,并且关闭。 图 2-63 那么恭喜。您已完成第一次提出请求。 由于我们不再使用add-readme分支,我们可以在这里删除分支。 如果我们重新访问问题页面,我们看到add-readme问题现在已关闭。 这是因为我们在我们的请求正文中包含了fixed 1#,当pull request被合并时,GitHub负责关闭这个问题。 如果我们转到我们的个人资料,我们将在我们的贡献图表上看到一个绿色方块。 最后,让我们快速回顾一下我们做了什么。在我们打开一个pull request后,我们对GitHub网站上的代码仓库进行了更改。由于我们忘了在push之前pull,而且我们对本地计算机上的同一个文件进行了更改,所以就创建了一个冲突。最后,我们是通过在文本编辑器中,删除了我们不想保留的内容,然后提交并推送到GitHub上的远程代码仓库来解决这个冲突的。 在下一阶段,我们将展示如何使用这些功能在团队中进行协作。 更多精彩内容尽在视频中! 本文固定链接:http://www.oxox.work/web/github/conflict/ | 虚幻大学查看原文:http://www.oxox.work/web/github/conflict/
转载请注明原文地址: https://www.6miu.com/read-1031.html

最新回复(0)