什么是.gitignore?
我刚刚创build了一个Github仓库,并想知道.gitignore
文件是什么。 我开始时没有创build一个,但由于大多数存储库都有一个,所以添加了一个。 我需要一个吗? 我可以/只是忽略它,还是有用? 我对这个主题做了一些研究,但是找不到具体的解释。
.gitignore
告诉git应该忽略哪些文件(或模式)。 通常用于避免从工作目录提交对其他协作者无用的临时文件,例如编译产品,IDE创build的临时文件等。
你可以在这里find完整的细节。
这是你想要在工作目录中忽略的文件列表。
假设你在Mac上,并且在所有目录中都有.DS_Store文件。 你想让git忽略它们,所以你在.gitignore中添加.DS_Store作为一行。 等等。
git文档会告诉你所有你需要知道的: http : //git-scm.com/docs/gitignore
当你正在做一个提交你不想意外地包含临时文件或build立特定的文件夹。 因此,使用一个.gitignore
列出你想忽略提交的项目。
此外,重要的 git status
是最常用的命令之一,你希望git status
列出已被修改的文件。
你会希望你的git status
列表看起来干净 ,不需要的文件。 例如,我改变了a.cpp, b.cpp, c.cpp, d.cpp & e.cpp
我希望我的git status
列出以下内容:
git status a.cpp b.cpp c.cpp d.cpp e.cpp
我不希望git status
列出这样的中间对象文件和生成文件夹中的文件更改文件
git status a.cpp b.cpp c.cpp d.cpp e.cpp .DS_Store /build/program.o /build/program.cmake
因此,为了让自己摆脱git status
来列出这些中间临时文件,并不小心将它们提交到回购站,我应该创build一个每个人都可以使用的.gitignore
。 我所需要做的是列出.gitignore
中我想排除提交的文件和文件夹。
以下是我的.gitignore
避免提交不必要的文件
/*.cmake /*.DS_Store /.user /build
有些文件你不希望Git检入。 Git将工作副本中的每个文件都视为三件事之一:
- 跟踪 – 一个以前已经上演或承诺的文件;
- 未被跟踪的 – 一个没有被上演或承诺的文件; 要么
- 忽略 – Git被明确告知忽略的文件。
忽略的文件通常是构build的工件和机器生成的文件,可以从您的存储库源派生,否则不应该提交。 一些常见的例子是:
- 依赖关系caching,例如
/node_modules
或/packages
- 编译的代码,如
.o
,.pyc
和.class
文件 - 构build输出目录,例如
/bin
,/out
或/target
- 在运行时生成的文件,例如
.log
,.lock
或.tmp
- 隐藏的系统文件,如
.DS_Store
或Thumbs.db
- 个人IDEconfiguration文件,如
.idea/workspace.xml
忽略的文件将在名为.gitignore
的特定文件中进行跟踪,该文件位于存储库的根目录中。 没有显式的git ignore命令:相反,当你想要忽略的新文件时,必须手动编辑和提交.gitignore
文件。 .gitignore
文件包含与存储库中的文件名匹配的模式,以确定是否应该忽略它们。 这是一个示例.gitignore
文件。 欲了解更多详情,请看这个链接