我在我的git存储库中有一个img文件夹。我希望使用.gitignore来排除该文件夹中的图像。
我使用cd <文件路径>
进入该文件夹并使用mkdir .gitignore
。但是当我将其add
到git时,图像不会被排除。我需要添加什么以使它们从add
中排除?
我在我的git存储库中有一个img文件夹。我希望使用.gitignore来排除该文件夹中的图像。
我使用cd <文件路径>
进入该文件夹并使用mkdir .gitignore
。但是当我将其add
到git时,图像不会被排除。我需要添加什么以使它们从add
中排除?
.gitignore
文件仅凭其存在没有任何影响。一个空的.gitignore
文件只是一个空文件,没有其他作用。
Git
读取.gitignore
文件的内容,并使用其中包含的模式来决定将哪些文件放入版本库中,哪些文件忽略。有关.gitignore
文件格式的更多信息,请参阅.gitignore文件格式。.gitignore
文件,而不仅仅是在根目录中。gitignore
源的信息:.gitignore
文件以及其父目录内的.gitingore
文件;
- 本地仓库忽略文件(未推送到远程仓库)$GIT_DIR/info/exclude
;
- 指定在~/.gitconfig
中的全局忽略文件;它适用于用户的所有本地仓库。Git
忽略img
目录中的文件,可以在文件img/.gitignore
中放置*
。<path-to-img>/*
放入存储库根目录下的.gitignore
文件中。将<path-to-img>
替换为从存储库根目录到img
文件的实际路径。
.gitignore
文件的内容仅由git add
使用。如果文件已经在存储库中,则在.gitignore
中添加与其名称匹配的模式不会使Git
从现在开始忽略它。必须手动从存储库中删除它(并提交删除),否则Git
将继续跟踪其内容。cd <path-to-img-directory>
echo "*" >> .gitignore
git rm *
git add .gitignore
git commit
.gitignore
文件应该首先位于仓库的根目录中,以此来更容易地管理它。之后,你可以在需要覆盖根.gitignore
文件中定义的模式的子目录中放置单独的.gitignore
文件。img
目录,只需将以下行添加到.gitignore
中即可:img/
如果您想让排除操作不区分大小写,可以改为编写以下代码:
[Ii]mg/
来自文档:
如果模式以斜杠结尾,则为了以下描述的目的而将其删除,但它只能与目录匹配。换句话说,
foo/
将匹配目录foo
及其下面的路径,但不会匹配常规文件或符号链接foo
。
此外,您可以使用git-ls-files
命令列出当前在您的存储库中被忽略的文件:
git ls-files --ignored --others --exclude-standard
--exclude-standard
选项告诉Git在考虑.git/info/exclude
文件、存储库的.gitignore
文件(包括根目录和所有子目录)以及全局的.gitignore
文件中定义的模式。
.gitignore
文件。我并没有说它必须放在根目录中,但如果你从那里开始,管理起来会更容易。然后,你可以在需要覆盖根目录中定义的设置的子目录中放置其他.gitignore
文件。 - Enrico Campidoglio.gitignore
文件(将文件放置在根目录中,这样更容易管理所有未跟踪的文件/文件夹),并将你的img文件夹添加到该文件中。.gitignore
文件。img/
到文件中。
mkdir .gitignore
。 - lucash