什么是.gitignore?

问题描述 投票:0回答:7

我刚刚创建了一个 Github 存储库,想知道

.gitignore
文件的用途。我一开始没有创建一个,但由于大多数存储库都有一个,所以添加了一个。 我需要拥有一个吗?我可以/可以忽略它吗,或者它有什么用处吗?

git gitignore
7个回答
201
投票

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

您可以在此处找到完整的详细信息。


46
投票

这是您希望 git 在工作目录中忽略的文件列表。

假设您使用的是 Mac,并且所有目录中都有 .DS_Store 文件。 您希望 git 忽略它们,因此您将 .DS_Store 添加为 .gitignore 中的一行。 等等。

git 文档将告诉您需要了解的所有信息:http://git-scm.com/docs/gitignore


26
投票

当您进行提交时,您不希望意外包含临时文件或构建特定文件夹。因此,请使用

.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

9
投票

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

  1. tracked - 之前已暂存或提交的文件;
  2. untracked - 尚未暂存或提交的文件;或
  3. 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
文件包含与存储库中的文件名相匹配的模式,以确定是否应忽略它们。这是一个 sample
.gitignore
文件。 欲了解更多详情,请查看此链接


5
投票

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

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


2
投票

.gitignore 文件是一个文本文件,指示 Git 忽略项目中的某些文件或文件夹。 本地 .gitignore 文件通常保存在项目的根目录中。您还可以创建一个全局 .gitignore 文件,如果在您的所有 Git 存储库中找到任何条目,该文件将被忽略。 要创建本地 .gitignore 文件,请创建一个文本文件并将其命名为 .gitignore(请记住在开头包含 .)。然后根据需要编辑该文件。每一个新行都应该列出一个您希望 Git 忽略的附加文件或文件夹。

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

*

 用作通配符匹配

/
 用于忽略相对于 .gitignore 文件的路径名

#
 用于向 .gitignore 文件添加注释


-1
投票
git 忽略文件规则允许您忽略过去提交的文件。当您不想重新提交文件时可以使用它。基本上 这是您希望 git 在工作目录中忽略的文件列表。

© www.soinside.com 2019 - 2024. All rights reserved.