我刚创建了一个Github仓库,想知道.gitignore
文件是干什么用的。一开始我没有创建这个文件,但后来加上了,因为大多数仓库都有这个文件。
我需要创建这个文件吗?我可以忽略它吗,还是它有什么用途?
.gitignore
告诉 git 应该忽略哪些文件(或模式)。通常用于避免提交工作目录中对其他合作者无用的临时文件,例如编译产品、IDE 创建的临时文件等。
您可以在这里找到完整的细节。
这是一个文件列表,您希望git在工作目录中忽略它们。
比如你使用Mac电脑,并且在所有的目录下都有.DS_Store文件。你希望git忽略它们,所以你在.gitignore文件中添加了一行.DS_Store,以此类推。
Git文档会告诉您所需一切信息:http://git-scm.com/docs/gitignore
.DS_Store
情况最终让我有所共鸣,因为我猜想我之前没有意识到这个概念,是因为我还没有在项目中需要使用它。谢谢。最终我使用了这个作为起点,因为我使用各种不同的操作系统,特别注意了# OS generated files #
部分。 - phoenixlaef当你进行提交时,不希望意外地包含临时文件或构建特定文件夹。因此,请使用.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
列出这些中间临时文件并意外提交它们到存储库中,我应该创建一个像每个人一样的.gitignore
。我所需要做的就是在.gitignore
中列出我想要排除提交的文件和文件夹。
以下是我的.gitignore
,以避免提交不必要的文件。/*.cmake
/*.DS_Store
/.user
/build
.gitattributes
来忽略在diff
/status
中的文件。 - OneCricketeer有一些文件不需要Git进行检查。Git将工作副本中的每个文件视为以下三种情况之一:
通常,被忽略的文件是可以从存储库源代码派生或者不应该提交的构建生成物和机器生成文件。一些常见的例子包括:
/node_modules
或/packages
的内容.o
、.pyc
和.class
文件/bin
、/out
或/target
.log
、.lock
或.tmp
.DS_Store
或Thumbs.db
.idea/workspace.xml
被忽略的文件在名为.gitignore
的特殊文件中进行跟踪,该文件在存储库的根目录下检查。没有显式的git ignore命令:当您有要忽略的新文件时,必须手动编辑和提交.gitignore
文件。 .gitignore
文件包含与存储库中的文件名匹配的模式,以确定它们是否应被忽略。这里是一个.gitignore示例文件。
更多细节请查看此链接
我在某些代码库中有很多个人笔记/草稿:它们对我很有用,但对其他人没有用。我不希望将它们上传到github,因为那会让每个阅读它的人都感到困惑。好消息是,我可以要求git“忽略”这些文件。这种方法的唯一代价是,如果我的计算机崩溃等情况发生,我将无法恢复这些笔记。
*
用作通配符匹配/
用于忽略相对于.gitignore文件的路径名#
用于向.gitignore文件添加注释Git ignore文件规则允许您忽略过去提交的文件。当您不想重新提交文件时,可以使用它。基本上,这是一个您希望Git在工作目录中忽略的文件列表。
_._gitignore
用于什么?它只在gitignore
在子目录中时使用吗? - Saikat Chakrabortty.gitignore
文件中指定的文件模式所对应的文件的更改。即使您更改了它们,Git 也不会将其显示为已修改。 - Mureinik