Python开发者容易忽视的几个Git好用的功能

浏览: 2566

Git是已经是世界上最流行的版本管理系统了,平时的开发过程中少不了要和git打交道,通常git小白只会用到一些常见的commit、push、pull等命令,今天小编和大家分享一些git中非常好用但又容被忽视的小功能。

使用.gitignore

场景:

  • 一些系统或者 IDE 会在目录下生成与项目不相关的文件,而这些文件我们不期望被提交到仓库之中,如Python运行产生的__pycache__文件夹
  • 数据文件特别大,一般不建议上传到仓库,只需要提供一下数据获取方法的文档就好
    # 忽略所有.json后缀的文件
    *.json

    # 忽略node_modules中所有的文件
    node_modules/

    # 忽略foo目录下除去foo/bar/的内容
    foo/
    !foo/bar/

    参考文档: https://git-scm.com/docs/gitignore

    Commit Message 格式

    目前规范使用较多的是 Angular 团队的规范, 继而衍生了 Conventional Commits specification. 很多工具也是基于此规范, 它的 message 格式如下:

      # head: <type>(<scope>): <subject>
      # - type: feat, fix, docs, style, refactor, test, chore
      # - subject: start with verb (such as 'change'), 50-character line

      # body: 72-character wrapped. This should answer:
      # * Why was this change necessary?
      # * How does it address the problem?
      # * Are there any side effects?

      # footer:
      # - Include a link to the ticket, if any.
      # - BREAKING CHANGE

      大致分为三个部分(使用空行分割):

      • 标题行: 必填, 描述主要修改类型和内容
      • 主题内容: 描述为什么修改, 做了什么样的修改, 以及开发的思路等等
      • 页脚注释: 放参考链接、文档地址、 Breaking Changes 或 Closed Issues

      分别由如下部分构成:

      • type: commit 的类型
        • feat: 新特性
        • fix: 修改问题
        • refactor: 代码重构
        • docs: 文档修改
        • style: 代码格式修改, 注意不是 css 修改
        • test: 测试用例修改
        • chore: 其他修改, 比如构建流程, 依赖管理.
      • subject: commit 的概述, 建议符合  50/72 formatting
      • body: commit 具体修改内容, 可以分为多行, 建议符合 50/72 formatting
      • footer: 一些备注, 通常是 BREAKING CHANGE 或修复的 bug 的链接.

      示例:

        fix(redis): 修复redis pull异常退出
        feat(组件):新增redis集群
        feat(MQ): 新增消息队列包

        Commit Message 模板设置

        每次commit都要设置格式十分不方便,git提供了一个自定义commit模板的方法,这样在commit的时候,会自动打开模板,我们只需要修改模板中的内容就好。模板设置方法如下:

        1. 在根目录建立模板文件

        如 xxx_template文件,其内容如下:

          <feat>(<scope>): <subject>

          <body>

          <footer>

          # - type:
          feat(新特性),
          fix(修改问题),
          docs(文档修改),
          style(代码格式修改, 注意不是 css 修改),
          refactor(代码重构),
          test(测试),
          chore(其他修改, 比如构建流程, 依赖管理)
          # - scope: (可以为空)
          影响的的范围
          # - subject
          提交描述
          1. 设置模板,命令如下

          git config commit.template [模板文件名]   //这个命令只能设置当前分支的提交模板

          git config — —global commit.template [模板文件名]   //这个命令能设置全局的提交模板,注意global前面是两杠

          例如:

            git config --global commit.template   xxx_template

            设置好以后,以后每次提交代码到git仓库的时候,就会自动打开该模板

            扫码下图关注我们不会让你失望!

            image.png

            推荐 0
            本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
            转载、引用前需联系作者,并署名作者且注明文章出处。
            本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

            0 个评论

            要回复文章请先登录注册