使用 Git 和 Github 进行代码管理
Git 是人类历史上编写的最强大的版本控制系统。Git 极其丰富的功能集使代码管理变得简单易行。
所以今天,让我们讨论如何遵循一个简单的结构来管理我们的代码库。
发起 -
当我们启动一个新项目时,我们会在 Github 上创建一个仓库。然后设置或创建一个README.md
文件。现在,它可以是公共项目,也可以是私有项目。
合作者和可访问性 -
之后,我们会邀请合作者进行协作。务必为合作者设置访问权限。例如,并非每个人都可以合并拉取请求。只有代码维护者或核心团队成员才能管理合并部分。
叉子 -
每位协作者都会获得一个独立的克隆仓库,以便独立工作。当您 fork 一个仓库时,主仓库将成为upstream
,克隆的仓库将成为origin
。我们将代码推送到origin/branch-name
,然后它会被合并到upstream/develop
。我喜欢保持主仓库的整洁;因此我建议采用基于 fork 的开发方式。
最常见的是,分叉用于提出对项目的更改,或者使用其他人的计划作为您的想法的起点。
分支 -
因此,当协作者想要开展新工作时,他们会根据工作类型创建一个新的分支。这样,他们就可以独立地开发功能或修复错误,而不会打扰其他协作者。
在 Github 上创建新仓库时,master
默认情况下会获得一个分支。通常,所有开发人员或维护人员都会从 master 分支创建一个新的分支,名称为develop
。
develop
应该是合并您的功能、错误和增强功能的主要分支。
master
- 是生产部署的分支。develop
- 是我们合并来自不同合作者的代码的分支。staging
- 是我们在将代码投入生产之前合并和测试代码的分支。一旦我们测试了所有功能并完成了部署周期,我们就会将staging
代码推送/合并到master
。- 未完成工作的分支 - 当任何协作者离开组织时,代码尚未完成,或者他/她想将所有权转让给他人,最好在父仓库上创建一个以他/她的名字命名的新分支。这样,其他协作者就可以从那里提取他/她的代码。分支名称可以像这样:
collaborators_name/feature/feature_name
。
在主仓库中(仅)保留这些分支是一种很好的做法。这样可以保持代码整洁。
在你的 fork 分支上,你可以根据你正在进行的工作类型创建一个分支。我们可以遵循一种简单的技巧来更好地识别分支,
- 对于一项功能,
feature/new-editor
。 - 对于错误,
bug/time-zone-fix
。 - 如果您对此还有未解决的问题,那么
issue/:issue_number/issue-description
。 - 任何增强,
enhancement/background-color-update
。
很简单,不是吗?这些都是全球开发者遵循的行业标准或通用做法。
拉取请求 -
工作完成后,我们会从我们的分支创建一个拉取请求到upstream/develop
。现在,最好在拉取请求上设置不同的内容。
- 审阅者 -审阅者是负责审阅你的拉取请求的人。你可以为同一个拉取请求请求多个审阅者。
- 受让人 -受让人是当前正在处理拉取请求的人员。可以有多个受让人。
- 描述 -解释此拉取请求的内容。你可以在描述中添加问题参考编号。
- 标签 -标签是为拉取请求添加标识的最佳方式。Github 已经提供了一些重要的标签,例如:bug、增强、功能、需要修复、需要帮助。这样其他协作者无需打开即可识别拉取请求。
- 里程碑 -通过添加,您可以跟踪和筛选您的拉取请求。您可以在此处
milestones
找到详细说明。
在合并拉取请求之前,至少与同事进行两轮代码审查。通常,我喜欢使用不同的标签,例如waiting for peer review
、waiting for merge review
、changes suggested
、help wanted
来ready for deployment
跟踪拉取请求的状态。
除此之外,我还喜欢添加不同的标签来了解拉取请求的类型,例如 、feature
、bugfix
。enhancement
您
可以创建多个标签,以便根据流程更轻松地识别拉取请求。Github
已经预定义了一些标签。
问题 -
这是一个非常适合追踪错误和改进的地方。您可以集成错误追踪器来自动创建问题。问题会在协作者之间共享,以便他们讨论解决方案。
还有一个受让人选项,您可以在其中标记不同的协作者。
发布 -
每当您将任何拉取请求合并到 时staging
,master
它都会被视为一次发布。本质上,如果您可以跟踪您的发布,这是一件好事。每次我们将代码合并到 时master
,我们都会将计数器加一。现在,您可以轻松跟踪您的版本。您可以在此处阅读有关语义化版本控制的更多信息。
生成版本号的简单解释是,MAJOR.MINOR.PATCH
- MAJOR——重要版本和功能。
- 次要 -当您改进现有功能时,提高代码质量。
- PATCH——用于小改动、错误修复。
这就是你使用 Github 起草发布版本的方法。简单又实用!
现实世界的例子是 Bootstrap -
在合并拉取请求之前,你可以使用不同的工具来增强代码的健壮性。例如:
- 在云上运行测试用例。
- 运行 linter 来修复代码质量。
好了,就是这样!我上面提到的所有内容我都有文档。如果你需要,请在下面的评论区留下你的邮箱。我很乐意与你分享。
文章来源:https://dev.to/chinmayj93/code-management-with-git-and-github-4072