git:如何忽略符号链接?

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

我在包含软链接(Linux)的目录中有一个本地 git 存储库,我想忽略这些链接,以便

git status
等不会打扰这些链接。我正在使用 git v2.34。

这个答案建议将

core.symlinks
设置为
false
,我在本地
.git/config
中进行了设置,并通过

进行了交叉检查
$ git config --get core.symlinks
false

尽管如此设置,git 仍然显示带有

git status
的链接。我知道我可以手动将所有符号链接添加到
.gitignore
(或通过脚本)。

那么我错过了什么部分?

.gitignore

文档只提到了两次“符号链接”,这并没有回答我的问题,所以大概它不是v2.32版本中的git功能?

git symlink git-config
1个回答
0
投票

Git 没有内置功能来忽略符号链接。如果您不想将某些路径包含在存储库中,无论这些路径是否是符号链接,您都可以在

.gitignore
中指定它们,如果它们未被跟踪,Git 将忽略它们。您必须按文件名明确列出它们,因为
.gitignore
文件不提供选择不同文件类型的方法。但是,您可以忽略带有尾部斜杠的目录(例如,
foo/
)以忽略该目录及其全部内容。

如果它们已经被跟踪,那么您需要使用

git rm --cached
将它们从索引中删除,以便它们不被跟踪,然后忽略它们将是有效的。 Git 不提供忽略跟踪文件的方法

一般来说,您希望避免修改

core.symlinks
。该值是由 Git 确定的内部值,用于提醒自己相关操作系统和文件系统是否支持符号链接(因为在 Windows 上,符号链接可能需要您可能没有的提升权限)。它不是为用户修改而设计的,而且无论如何也不会产生您想要的行为。

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