Git 最佳实践 – 如何充分利用 (g)it

已发表: 2019-07-02

Pull、Fetch、Commit、Push、Merge、Rebase——这些术语是否已经进入你的日常生活? 当 Linus Torvalds 创建他的第一个 Git 版本时,他将其描述为“愚蠢的内容跟踪器”。 快进到今天,这个免费的开源软件现在是最流行的版本控制系统。

什么是 Git?

难道您不希望有时可以让时间倒流,这样您就可以做出更好的决定或以不同的方式做事吗? 好吧,在技术和编码的世界里,你可以。 Git 是一个开源分布式版本控制系统,每次您对其进行任何更改/添加时,它都会保存您宝贵代码的版本。 因此,无论何时您需要回滚,您只需选择工作版本即可! Git 还允许团队内部无中断工作,因为开发人员可以同时处理他们各自的本地副本。 跟踪每个团队成员的每一个更改,从而在有组织的流程中保持透明度。 那么什么是 GitHub? GitHub 是 Git 的存储库托管服务,它也有很多功能可以优化您的版本控制系统。
Git 工作流程

每个组织都有不同的 Git 工作流程。 最成功的 Git 工作流程是为您的团队提供足够的生产力空间,同时最大限度地提高其输出效率的工作流程。 它应该可以根据您团队的规模进行扩展,并且应该最大限度地减少可能出现的冲突数量。 集中式 Git 工作流是构建其他 Git 工作流的基础,例如功能分支工作流、分叉工作流、Gitflow 工作流等。应该计划一个工作流来增强和补充您组织的文化。 对于每个团队,他们自己的 Git 工作流程。

为什么要使用 Git?

1.分布式架构

与强制开发人员访问单个中央存储库以便能够“检出”并提交对单个文件的更改的集中式版本控制系统不同,Git 遵循分布式方法。 在分布式架构中,每个开发人员都有自己的整个中央存储库的本地副本,允许他们离线工作、访问完整的修订历史记录以及轻松的分支和合并。

2. 强大的性能

使用 Git 工作流程进行分支、合并、提交等非常简单快捷,因为它的智能深度知识算法可以理解 T 的访问模式。


3. 它是安全的

Git 存储所有文件内容,包括版本和目录之间的关系,使用 SHA1 作为其主题标签算法进行加密。 任何意外或恶意的代码更改都是完全可追溯的。


4. 开源

作为开源,Git 是免费的,享有良好的社区支持,不断审查质量,并为学习者提供大量文档和教程的支持。


5. 更快的发布

Git 的分布式开发以及轻松的分支和新功能创建鼓励开发人员在敏捷工作流中进行更频繁的更改

Git - 分布式架构

Git - 分布式架构

Git 最佳实践

  • 新项目? 新仓库

为您想要开始工作的每个新项目创建一个新的 repo 具有良好的组织意义。 完成后,将其推送到 GitHub。

  • 新功能? 另辟蹊径

现在您已经创建了一个新项目,如何创建一些新的 Git 功能? Git Branching 可让您在存储库中创建和管理有组织的工作流。 可以为团队成员分配不同的 Git 分支,允许他们以隔离的方式同时工作。 总是给你的 git 分支一个有意义的,这样其他人就知道你在做什么。

  • 与时俱进,开始新的一天

在开始处理您创建/分配给您的功能之前,始终“重新设置”或获取最新版本的项目(主)。 您不想对过时的文件进行更改。

  • 有定期检查点

不要为了大的改变而保存你的提交。 经常“提交”小的更改,以便您和您的团队成员更容易理解代码。 当更改很小且频繁时,恢复和跟踪也更容易。

  • 藏好你的作品

通常,您可能会遇到这样的情况:您正在一个 Git 分支上工作,但您突然想起您需要在另一个分支上工作,但不想“提交”那些半完成的更改。 或者您可能只是想要一个干净的工作副本。 “git stash”来救援。 存储让您可以将未完成的更改保存在堆栈中,您可以随时返回!

  • 压扁他们提交

在您的历史记录中减少提交可以更轻松地监控和跟踪您出错的地方。 如果你想保持一个干净的提交历史,这个是给你的。 合并拉取请求时,将所有提交合并为一个。

  • 提交消息

始终在提交消息中提供清晰易懂的信息。 首先写下您的更改的简短摘要,留下一个空行,然后用详细的更改说明进行跟进。 你不希望你的提交历史最终看起来像这样:/

git提交消息

https://xkcd.com/1296/

  • 不要改变历史

一旦您提交了对存储库的更改,请不要返回并更改历史记录。 尽管 Git 允许您这样做并重写公共历史,但这样做从来都不是一个好习惯。 为您和您的团队。

  • 应用 Git 补丁

有时当您没有存储库的写入权限但仍想修复错误时 – 应用 Git 补丁。 永远记住克隆主存储库,然后为新功能创建一个分支。 准备好 .patch 文件后,请始终预览它并进行试运行以检查错误。 完成后,Git 应用补丁(git apply -R path/file.patch)。 不要忘记测试和检查

  • 不要让拉取请求太久

一个开放的“拉”请求迟早会产生冲突。 不要让他们无人看管超过 2 天。 始终检查代码,如果可以部署,请合并拉取请求。 这不仅可以加快运输过程,还可以避免代码冲突。

  • 使用项目管理工具更好地组织

如果您一直在使用 Redmine 等项目管理工具,最好将它与 Git 结合使用,以便能够更好地管理多个团队成员及其任务。 使用 Redmine 任务作为名称创建 Git 分支是最好的 Git 最佳实践之一,因为它可以提高透明度和组织性。

Git项目管理工具

在 Redmine 中创建的任务

创建 git 分支

使用任务 ID 和名称创建一个分支
  • 亚搏体育应用 CI/CD

使用像这样的持续集成/持续部署工具可以让您测试和检查错误和错误,并确保与代码标准的兼容性。 这些作业在代码被推送到登台服务器后执行。

Gitlab CI

GitLab CI/CD 作业列表

Git 最佳实践信息图