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

视频教程观看地址: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/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当引入第三方库时,需要注意以下几点: 1. 版本兼容性:确保引入的库与你的项目的其他依赖库版本兼容。检查库的最低支持 Android 版本、与其他库的依赖关系等信息。 2. 权限和依赖:查看库的文档或官方说明,了解是否需要在 AndroidManifest.xml 文件中添加权限声明,以及是否需要在 build.gradle 文件中添加其他依赖项。 3. 代码混淆:如果你的项目启用了代码混淆(ProGuard),则需要确保添加适当的混淆规则以免影响库的正常使用。查看库的文档或示例项目中的混淆规则,并将其添加到你的混淆文件中。 4. 运行时权限:某些库可能需要运行时权限才能正常工作。确保在使用库之前已经在代码中请求了所需的权限,并在用户授权后才调用相关库的功能。 5. 更新和维护:定期检查库的更新,并及时更新到最新版本,以获得最新功能、性能优化和 bug 修复。同时,关注库的维护情况,包括开发者是否持续维护、社区反馈和解决问题等。 6. 文档和示例:仔细阅读库的文档和示例代码,了解库的用法、配置和常见问题。文档中通常包含了初始化、使用方法和示例代码,帮助你快速上手和解决问题。 7. 测试和兼容性:在引入库之后,进行全面的测试,确保库在你的应用中正常工作,并与其他功能和库兼容。 以上是引入第三方库时需要注意的一些方面。根据具体情况,你可能还需要关注库的性能、可靠性、许可证等因素。希望这些提示对你有帮助!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚坏叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值