#PY小贴士# 我的git仓库为什么每次提交都有很多改动?
- 2019 年 12 月 23 日
- 笔记
git 是如今最流行的代码版本管理工具,没有之一。
今天说一个 git 使用时的细节:.gitignore
我们在使用 git 管理代码时,如果默认把项目里的所有文件都 add 进去,加入到仓库中,会有几方面问题:
- 不必要的文件被加入,导致仓库很大
- 自动生成的文件被加入,会导致频繁改动,并容易产生版本冲突
- 带有敏感信息的文件被加入,造成信息泄露
那么到底哪些文件应该被提交到仓库里呢?
其实就一个原则: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 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!