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 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!
如果你在编程学习中有疑问,可选择以下方式向我们提问:
1. 加入码上行动答疑群(最及时响应)
2. 加入知识星球 https://t.zsxq.com/IiAiiQj
3. 发微博加上 #编程教室# 并 @Crossin(非私信)
提问时请表述清楚,附上必要代码、输出等截屏。
也可向本栏目投稿,分享你开发中的经验。采纳后将署名发表,并可附上个人博客、公众号、Github等介绍。