.gitignore 是什么?
What is .gitignore?
我刚刚创建了一个 Github 存储库,想知道 .gitignore
文件的用途。我一开始没有创建一个,但由于大多数存储库都有一个,所以添加了一个。
我需要一个吗? Can/do我直接无视了,还是有什么用?
这是您希望 git 在您的工作目录中忽略的文件列表。
假设您在 Mac 上并且您的所有目录中都有 .DS_Store 文件。您希望 git 忽略它们,因此您将 .DS_Store 添加为 .gitignore 中的一行。等等。
git 文档会告诉你所有你需要知道的:http://git-scm.com/docs/gitignore
.gitignore
告诉 git 它应该忽略哪些文件(或模式)。它通常用于避免从您的工作目录提交对其他协作者无用的临时文件,例如编译产品、IDE 创建的临时文件等。
您可以找到完整的详细信息 here。
当您进行提交时,您不希望意外包含临时文件或构建特定文件夹。因此,使用 .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
有些文件您不想 Git 签入。 Git 将工作副本中的每个文件视为以下三种情况之一:
- tracked - 之前已暂存或提交的文件;
- untracked - 尚未暂存或提交的文件;或
- 已忽略 - Git 已明确告知要忽略的文件。
忽略的文件通常是构建的工件和机器生成的文件,它们可以从您的存储库源中派生,或者不应以其他方式提交。一些常见的例子是:
- 依赖缓存,例如
/node_modules
或/packages
的内容
- 编译代码,例如
.o
、.pyc
和 .class
文件
- 构建输出目录,例如
/bin
、/out
或/target
- 运行时生成的文件,例如
.log
、.lock
或.tmp
- 隐藏系统文件,例如
.DS_Store
或Thumbs.db
- 个人 IDE 配置文件,例如
.idea/workspace.xml
忽略的文件在一个名为 .gitignore
的特殊文件中进行跟踪,该文件已签入存储库的根目录。没有明确的 git ignore 命令:相反,当您有希望忽略的新文件时,必须手动编辑和提交 .gitignore
文件。 .gitignore
文件包含与存储库中的文件名匹配的模式,以确定是否应忽略它们。这是一个 sample.gitignore
文件。
有关详细信息,请查看此 link
.gitignore 的主要目的——避免添加不相关的文件等。Git
我在某些存储库中有很多个人笔记/涂鸦:它们对我有用但对其他人没有用。我不想将它上传到 github,因为它只会让所有阅读它的人感到困惑。好处是我可以要求 git 到 "ignore" 那些文件。这种方法的唯一代价是如果我的计算机崩溃等,我将无法恢复这些笔记
.gitignore 文件是一个文本文件,指示 Git 忽略项目中的某些文件或文件夹。
本地 .gitignore 文件通常保存在项目的根目录中。您还可以创建一个全局 .gitignore 文件,如果在其中找到任何条目,它将在您的所有 Git 存储库中被忽略。
要创建本地 .gitignore 文件,请创建一个文本文件并将其命名为 .gitignore(记得在开头包含 .)。然后根据需要编辑此文件。每个新行都应列出一个您希望 Git 忽略的附加文件或文件夹。
此文件中的条目也可以遵循匹配模式。
*
用作通配符匹配
/
用于忽略相对于 .gitignore 文件的路径名
#
用于向 .gitignore 文件添加注释
我刚刚创建了一个 Github 存储库,想知道 .gitignore
文件的用途。我一开始没有创建一个,但由于大多数存储库都有一个,所以添加了一个。
我需要一个吗? Can/do我直接无视了,还是有什么用?
这是您希望 git 在您的工作目录中忽略的文件列表。
假设您在 Mac 上并且您的所有目录中都有 .DS_Store 文件。您希望 git 忽略它们,因此您将 .DS_Store 添加为 .gitignore 中的一行。等等。
git 文档会告诉你所有你需要知道的:http://git-scm.com/docs/gitignore
.gitignore
告诉 git 它应该忽略哪些文件(或模式)。它通常用于避免从您的工作目录提交对其他协作者无用的临时文件,例如编译产品、IDE 创建的临时文件等。
您可以找到完整的详细信息 here。
当您进行提交时,您不希望意外包含临时文件或构建特定文件夹。因此,使用 .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
有些文件您不想 Git 签入。 Git 将工作副本中的每个文件视为以下三种情况之一:
- tracked - 之前已暂存或提交的文件;
- untracked - 尚未暂存或提交的文件;或
- 已忽略 - Git 已明确告知要忽略的文件。
忽略的文件通常是构建的工件和机器生成的文件,它们可以从您的存储库源中派生,或者不应以其他方式提交。一些常见的例子是:
- 依赖缓存,例如
/node_modules
或/packages
的内容
- 编译代码,例如
.o
、.pyc
和.class
文件 - 构建输出目录,例如
/bin
、/out
或/target
- 运行时生成的文件,例如
.log
、.lock
或.tmp
- 隐藏系统文件,例如
.DS_Store
或Thumbs.db
- 个人 IDE 配置文件,例如
.idea/workspace.xml
忽略的文件在一个名为 .gitignore
的特殊文件中进行跟踪,该文件已签入存储库的根目录。没有明确的 git ignore 命令:相反,当您有希望忽略的新文件时,必须手动编辑和提交 .gitignore
文件。 .gitignore
文件包含与存储库中的文件名匹配的模式,以确定是否应忽略它们。这是一个 sample.gitignore
文件。
有关详细信息,请查看此 link
.gitignore 的主要目的——避免添加不相关的文件等。Git
我在某些存储库中有很多个人笔记/涂鸦:它们对我有用但对其他人没有用。我不想将它上传到 github,因为它只会让所有阅读它的人感到困惑。好处是我可以要求 git 到 "ignore" 那些文件。这种方法的唯一代价是如果我的计算机崩溃等,我将无法恢复这些笔记
.gitignore 文件是一个文本文件,指示 Git 忽略项目中的某些文件或文件夹。 本地 .gitignore 文件通常保存在项目的根目录中。您还可以创建一个全局 .gitignore 文件,如果在其中找到任何条目,它将在您的所有 Git 存储库中被忽略。 要创建本地 .gitignore 文件,请创建一个文本文件并将其命名为 .gitignore(记得在开头包含 .)。然后根据需要编辑此文件。每个新行都应列出一个您希望 Git 忽略的附加文件或文件夹。
此文件中的条目也可以遵循匹配模式。
*
用作通配符匹配
/
用于忽略相对于 .gitignore 文件的路径名
#
用于向 .gitignore 文件添加注释