本文翻译自 Be a better developer with these Git good practices,作者:Anthony Vinicius, 略有删改。
如果你是一名开发人员,你可能每天都在使用Git版本控制系统。无论是在团队中还是单独工作,使用此工具对于程序的开发过程都很重要。但在实际工作中却经常遇到提交不明确的消息,没有传达有用的信息,以及滥用分支等问题。了解如何正确使用Git并遵循良好的实践对于那些想要在工作中脱颖而出的人来说至关重要。
当我们使用代码版本控制时,我们应该遵循的主要良好实践之一是为分支、提交、拉取请求等使用清晰和描述性的名称。除了提高生产力之外,记录项目的开发过程,简化了团队沟通协作。通过遵循这些做法,你很快就会看到好处。
在此基础上,开源社区创建了一个分支命名约定,您可以在项目中遵循该约定。以下项目的使用是可选的,但它们可以帮助提高您的开发效率。
1.小写:不要在分支名称中使用大写字母,坚持使用小写字母;
2.连字符分隔:如果您的分支名称由多个单词组成,请用连字符分隔。避免PascalCase、camelCase或snake_case;
3. (a-z,0-9):在分支名称中仅使用字母数字字符和连字符。避免任何非字母数字字符;
4.请不要使用连续的连字符(--)。这种做法可能令人困惑。如果您有分支类型(如功能、错误修复、热修复等),使用斜杠(/)代替;
5.避免以连字符结束分支名称。这是没有意义的,因为连字符分隔单词,没有单词在最后分开;
6.是最重要的:使用描述性的、简洁的、清晰的名称来解释在分支上做了什么;
fixSidebar
feature-new-sidebar-
FeatureNewSidebar
feat_add_sidebar
feature/new-sidebar
add-new-sidebar
hotfix/interval-query-param-on-get-historical-data
有时候分支的目的并不明确。它可能是一个新功能,一个bug修复,文档更新,或其他任何东西。为了解决这个问题,通常的做法是在分支名称上使用前缀来快速解释分支的用途。
如果您在工作流程中使用任务管理,如Jira、Trello、ClickUp或任何可以创建开发任务的类似工具,则每个任务都有一个关联的编号。所以,一般都可以用这些编号作为分支名称的前缀。举例来说:
提交消息在开发过程中非常重要。创造一个好的历史将帮助你很多次在你的开发过程中。像分支一样,提交也有社区创建的约定,你可以在下面了解到:
Add README.md ✅;
Added README.md ❌;
Adding README.md ❌;
Add user authentication ✅;
add user authentication ❌;
Update unit tests ✅;
Update unit tests. ❌;
“Conventional Commits规范是一个基于提交消息的轻量级约定。它提供了一组简单的规则来创建提交历史。“
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
提交类型提供了一个清晰的上下文,关于在这个提交中所做的事情。下面你可以看到提交类型的列表以及何时使用它们:
作用域是一种可以添加在提交类型之后的结构,以提供额外的上下文信息:
fix(ui): resolve issue with button alignment
feat(auth): implement user authentication
提交消息的主体提供了有关提交所引入的更改的详细说明。它通常添加在主题行之后的空白行之后。
示例:
Add new functionality to handle user authentication.
This commit introduces a new module to manage user authentication. It includes
functions for user login, registration, and password recovery.
提交消息的页脚用于提供与提交相关的附加信息。这可以包括详细信息,例如谁审查或批准了更改。
示例:
Signed-off-by: John <john.doe@example.com>
Reviewed-by: Anthony <anthony@example.com>
确认提交包含可能导致兼容性问题或需要修改相关代码的重大更改。您可以在页脚中添加BREAKING CHANGE
或在类型/范围后包含!
。
chore: add commitlint and husky
chore(eslint): enforce the use of double quotes in JSX
refactor: type refactoring
feat: add axios and data handling
feat(page/home): create next routing
chore!: drop support for Node 18
带主题、正文和页脚:
feat: add function to convert colors in hexadecimal to rgba
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.
Reviewed-by: 2
Refs: #345
文本分享了日常开发中的git相关操作,涉及分支创建以及代码提交格式规范和示例,希望对你有帮助。
看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~
专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)