#PY小贴士# 我的git仓库为什么每次提交都有很多改动?

  • 2019 年 12 月 23 日
  • 笔记

git 是如今最流行的代码版本管理工具,没有之一。

今天说一个 git 使用时的细节:.gitignore

我们在使用 git 管理代码时,如果默认把项目里的所有文件都 add 进去,加入到仓库中,会有几方面问题:

  1. 不必要的文件被加入,导致仓库很大
  2. 自动生成的文件被加入,会导致频繁改动,并容易产生版本冲突
  3. 带有敏感信息的文件被加入,造成信息泄露

那么到底哪些文件应该被提交到仓库里呢?

其实就一个原则:git 只用来上传代码,其他的都不应该加到仓库里

应当忽略的文件包括:

  • 系统生成的临时文件
  • 编译产生的结果文件(比如 .pyc)
  • 用户数据(这个尤其不能加仓库里)
  • 个人开发环境相关的配置文件
  • 图片等静态资源看具体情况,有时候也不建议放代码里。比如你开发app或者游戏,里面各种高清图片资源,然后还经常变动,那就不适合放代码仓库里

对于不需要纳入仓库管理的文件,应将其写进 .gitignore 文件而忽略。

.gitignore 支持注释、文件夹匹配、通配符等。简单示例:

# 所有 .pyc 结尾的文件  *.pyc    # 但不要忽略 x.pyc  !x.pyc    # 忽略根目录下 TMP 文件夹中的文件  /TMP    # 忽略所有名为 build 文件夹中的文件  build/    # 忽略名为 doc 文件夹里的 .txt 结尾的文件(不包含子目录)  doc/*.txt    # 忽略名为 doc 文件夹里的 .pdf 结尾的文件(包含子目录)  doc/**/*.pdf

另外,Github 也提供了很多不同语言/项目适用的 .gitignore 文件模板供使用:

https://github.com/github/gitignore


#PY小贴士# 里,我们会分享一些 python 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!