如何创建/添加到 .git/info/exclude 文件以忽略本地文件?

How do I create/ add to a .git/info/exclude file to ignore files locally?

我仍在学习 git 并掌握它的窍门。我只想在我的工作流程中忽略本地文件。我在这里阅读了大量问答以及 git 文档,但其中 none 实际上提到或解释了如何创建和访问 .git/info/exclude 文件以对其进行修改.当我调用 ls -la 命令查看本地存储库中的所有隐藏文件时,我没有该文件或至少它不在 git 的根目录中。我只看到 .git.gitignore 和存储库中的其他文件。

每次我编辑文件并暂存它时,还有其他系统文件一直显示为已修改。我最终不得不每次都将它存储起来才能 commit/push 到远程存储库。

我已经尝试使用像 nano .git/info/excludecat .git/info/exclude 这样的命令,假设我必须创建一个命令才能使其工作,但它说 Error: No such file or directory。那么,我如何访问该文件以开始在本地忽略它们以使我的工作流程更轻松、更不乏味?

此外,我 运行 命令 cd .git 并且我在 .git 目录(但没有 info/exclude 文件夹)中看到一些文件:

注意: 我知道 git update-index --assume-unchanged <file>git update-index --skip-worktree <file> 作为忽略本地文件的其他方法,但我想知道如何做它以 .git/info/exclude 方式。

几件事:

首先,您很可能想使用 .gitignore 而不是 .git/info/exclude。它做同样的事情,除了它被签入回购协议并与所有工作文件一起进行版本控制。在大多数情况下,这将是所需的行为。

(如果您使用 .git/info/exclude,那么只有存储库的特定克隆会忽略指定的路径,如果忽略规则随着代码的发展而改变,那么您将无法跟踪哪些规则适用于您的代码版本。)

但是,如果您真的想使用 .git/info/exclude...那么,您将其视为单个文件名,但是(根据 *NIX 约定,大多数 git 文档) / 是路径分隔符。所以在你的 repo 中你会看到 .git。然后

cd .git

如果您在那里执行 ls,您可能会看到 info。如果没有

mkdir info

然后您可以 cd info 并创建文件 exclude