理解GitHub工作流

理解GitHub工作流

原文:https://guides.github.com/introduction/flow/
本人水平超菜,英文好的请看原文,当然欢迎指正。

GitHub工作流是一个轻量级的,基于分支的工作流,支持团队协作和规律发布的工程。本向导解释GitHub如何和为什么这样工作。

第一:

这里写图片描述

创建分支

当你想修改一个工程,你可以创建一个分支,在你的分支增加一些特征和你的想法(不管是已经想好的还是还没有想好)。分支让你能更好的管理你的工作。
当你创建一个分支,你就为你的想法创建了一个试验环境。你在分支上所做的修改不会影响到主干上的代码,所以你可以自由的尝试和提交你的代码。分支将不会被合并直到代码已做好让另一协作者审查。

专业提醒
分支是Git的核心概念,整个GitHub工作流都是基于此的。这里有一个基本原则:任何主干上的版本都是可发布的。
所以,有一点就特别重要,你所创建的分支,不管是要新增特性还是修改bug,你的分支应该具有较好的描述性(如:refactor-authentication, user-content-cache-key, make-retina-avatars),这样其他人就可以看出是居于哪的。

第二:

这里写图片描述

提交
创建分支后,你就可以做些修改。无论什么时候你新增,修改,或是删除文件,你将会做一次提交来把你的修改加到你的分支上去。这样的提交过程便于你跟踪你在你分支上修改的进度。
提交为你的工作创建一个历史记录,通过这个记录,方便别人追踪和理解你所作的修改和为什么做这样的修改。每次提交都会有一个提交消息,你可以在此记录或解释你所作的修改。也可以这么说,每次提交可以被看成一次独立的修改单元。万一以后发现bug,代码可以回滚,或做其它的修改。

专业提醒
提交消息很重要,特别是当你把你的修改提交到服务器以后。如果写好提交消息,那么别人在追踪和提交反馈时将变得更容易。
原文:Commit messages are important, especially since Git tracks your changes and then displays them as commits once they’re pushed to the server. By writing clear commit messages, you can make it easier for other people to follow along and provide feedback.

第三:

这里写图片描述

打开拉请求(Open a Pull Request)
拉请求为你的提交初始化一个讨论组。因为他紧密集成在Git repository下面,任何人可以清楚的看到如果他们接受的话,哪些修改将会被合并。
在开发过程中的任何时候,你都可以Open a Pull Request: 当你有一点点甚至没有修改代码,只想分享一些截图或一些点子,当你哪里没想清楚需要帮助或建议,或者当你已准备好让某人来检查你的代码。你可以在Pull Request message中使用GitHub’s@mention 系统,你可以请求某个特定的人或团队提供反馈,不管他是在你家客厅还是相隔十个时区以外。

专业提醒
当贡献代码到开源工程或为共享库管理修改时,Pull Request时非常有用的。如果你使用Fork & Pull Model,Pull Request 提供一种方式来通知工程维护者关于你希望他们考虑的修改。如果你使用共享库模型,Pull Request 帮助我们在合并到主干之前进行代码审查和讨论哪些修改是恰当的。

第四:

这里写图片描述
讨论和审查代码
一旦Pull Request 被打开,其他个人或团队审查你的修改,他们可能会有问题或建议。有可能代码风格不符合主干的原则,有可能你的修改没有单元测试,亦或是其它任何觉得需要的东西。Pull Request 就是用来鼓励捕获这种类型的对话。
依据对你的提交的讨论和反馈,你可以继续提交修改你的分支。如果某人提醒你忘记了什么东西,或发现了一个bug,你可以在你的分支上修改并提交。GitHub将在一个统一的界面显示你新提交的信息和任何你新收到的反馈。

专业提醒
Pull Request 建议用Markdown来写,这样你可以嵌入图片和表情符号,使用与格式化的文本块,和其他轻量级的格式。

第五:

这里写图片描述
发布
一旦你的pull request被审查通过,你可以发布你的修改以在产品中验证。如果你的分支或导致问题,你可以通过重新发布主干来回滚。

第六:

这里写图片描述
合并
现在你的修改已经在产品中验证通过,该是合并代码到主干的时候了。
一旦合并,Pull Request保存一份历史修改的记录到你的代码中。因为它是可搜索的,它让任何人及时了解但是为什么及如何做出这样的决定。

专业提醒
通过在Pull Request中加入一些特定的关键字,你可以用代码辅助说明问题。当你的Pull Request 被合并,相关的问题也将被关闭。比如,输入词语 Close #32 代表关闭库中32号的问题。更多详情,参阅帮助文档

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值