我刚刚创建了一个Github存储库,想知道.gitignore文件是干什么用的。我一开始没有创建一个,但添加了一个,因为大多数存储库都有一个。 我需要一个吗?我可以忽略它吗,还是它有用处呢?


它是一个文件列表,你想让git忽略你的工作目录。

假设你在Mac上,所有目录中都有. ds_store文件。你想让git忽略它们,所以你在.gitignore中添加了. ds_store作为一行。等等。

git文档会告诉你所有你需要知道的:http://git-scm.com/docs/gitignore


.gitignore告诉git应该忽略哪些文件(或模式)。它通常用于避免从您的工作目录提交对其他协作者没有用处的临时文件,例如编译产品、ide创建的临时文件等。

你可以在这里找到完整的细节。


当你在进行提交时,你不希望意外地包含临时文件或构建特定的文件夹。因此使用.gitignore列出你想要忽略的提交项。

此外,重要的是,git status是最常用的命令之一,您希望git status列出已修改的文件。

你会希望你的git状态列表看起来干净,没有不需要的文件。例如,我更改了a.cp, b.cp, c.cp, d.cp和e.cp,我想让我的git状态列出以下内容:

git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp

我不希望git状态列出这样的中间对象文件和文件从构建文件夹更改的文件

git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
.DS_Store
/build/program.o
/build/program.cmake

因此,为了摆脱git状态,列出这些中间临时文件,并意外地将它们提交到repo中,我应该创建一个.gitignore,每个人都这样做。所有我需要做的列出文件和文件夹在.gitignore,我想排除提交。

下面是我的.gitignore,以避免提交不必要的文件

/*.cmake
/*.DS_Store
/.user
/build

有些文件您不希望Git检入。Git将工作副本中的每个文件视为以下三种情况之一:

被跟踪的-一个文件,它已经被预先放置或提交; 未跟踪的-一个文件尚未被暂存或提交;或 ignored -一个Git被明确告知忽略的文件。

被忽略的文件通常是构建的工件和机器生成的文件,这些文件可以从存储库源派生出来,或者不应该提交。一些常见的例子是:

依赖缓存,例如/node_modules或/packages的内容 编译过的代码,例如.o、.pyc和.class文件 构建输出目录,例如/bin、/out或/target 运行时生成的文件,如.log、.lock或.tmp 隐藏的系统文件,如.DS_Store或Thumbs.db 个人IDE配置文件,如.idea/workspace.xml

被忽略的文件在一个名为.gitignore的特殊文件中跟踪,该文件签入到存储库的根目录中。没有显式的gitignore命令:相反,当您有希望忽略的新文件时,必须手动编辑和提交.gitignore文件。gitignore文件包含与存储库中的文件名匹配的模式,以确定是否应该忽略它们。这是一个样品。gitignore文件。 要了解更多细节,请查看这个链接


.gitignore的主要目的-避免添加不相关的文件等。Git

我在某些存储库中有很多个人笔记/涂鸦:它们对我有用,但对其他人没用。我不希望它上传到github,因为它只会让每个阅读它的人感到困惑。好在我可以让git“忽略”这些文件。这种方法的唯一代价是,如果我的电脑死机等,我将无法恢复这些笔记。


The .gitignore file is a text file that instructs Git to ignore certain files or folders in a project. A local .gitignore file is normally kept in the project's root directory. You can also create a global .gitignore file, which will be ignored in all of your Git repositories if any entries in it are found. To create a local .gitignore file, create a text file and name it .gitignore (remember to include the . at the beginning). Then edit this file as needed. Each new line should list an additional file or folder that you want Git to ignore.

该文件中的条目也可以遵循匹配模式。

*用作通配符匹配 /用于忽略相对于.gitignore文件的路径名 #用于向.gitignore文件添加注释


git的ignore file规则允许你忽略过去提交的文件。当您不想重新提交文件时,可以使用它。基本上 它是一个文件列表,你想让git忽略你的工作目录。