git - 如何在文件夹中使用 .gitignore?

标签 git

我的 git 存储库中有一个 img 文件夹。我想使用 .gitignore 来排除文件夹中的图像。

我用了cd <file path>进入该文件夹和mkdir .gitignore .但是当我 add不排除 git 图像。我需要添加什么才能将它们排除在 add 之外? ?

最佳答案

.gitignore文件仅仅因为它的存在而没有任何效果。一个空的 .gitignore文件只是一个空文件,仅此而已。

Git读取 .gitignore 的内容文件并使用它包含的模式来决定将哪些文件放入存储库以及忽略哪些文件。阅读更多关于 the format of .gitignore files 的信息.

与此问题的其他答案相反,您可以拥有一个.gitignore文件在存储库的任何目录中,而不仅仅是在根目录中。

当它决定如何处理一个新文件(跟踪它或忽略它)时,它会结合来自多个 gitignore 的信息。来源:

  • 命令行;
  • .gitignore文件与文件和 .gitingore 在同一目录中存储库中父目录中的文件;
  • 本地仓库忽略文件(不推送到远程仓库)$GIT_DIR/info/exclude ;
  • ~/.gitconfig 中指定的全局忽略文件;它适用于用户的所有本地存储库。

回到你的具体情况,如果你要告诉Git忽略 img 中的文件目录你可以放 *在文件中 img/.gitignore .

另一种选择是输入 <path-to-img>/*.gitignore文件在你的 repo 的根目录中。替换 <path-to-img>使用从 repo 根目录到 img 的实际路径文件。

文件内容.gitignore仅由 git add 使用.如果文件已经在存储库中,请添加 .gitignore匹配其名称的模式不会生成 Git从现在开始忽略它。必须手动将其从存储库中删除(并提交删除),否则 Git将继续跟踪其内容。

在您的情况下,要运行的命令如下:

cd <path-to-img-directory>
echo "*" >> .gitignore
git rm *
git add .gitignore
git commit

关于git - 如何在文件夹中使用 .gitignore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39034843/

相关文章:

Git 使多个 Remote 保持同步的正确方法?

git - 太晚开始分支,更改我的分支的父级

git - 如何使用相同的 package.json 进行不同的构建?

git - 如何将 Git 存储库组合成线性历史记录?

git - 什么是 git 中的普通 merge ?

git-svn 错误导入存储库 : fatal: Not a valid object name

git - pull 或推到 git : ENOENT: no such file or directory 时出错

java - 如果要添加的文件不存在,addFilePattern 不会抛出 FileNotFoundException

git - Mercurial 和 bzr 的 merge 基础模拟(为 merge 找到尽可能共同的祖先)?

git - 使 .git 目录 Web 不可访问