我在包含软链接(Linux)的目录中有一个本地 git 存储库,我想忽略这些链接,以便
git status
等不会打扰这些链接。我正在使用 git v2.34。
这个答案建议将
core.symlinks
设置为false
,我在本地.git/config
中进行了设置,并通过进行了交叉检查
$ git config --get core.symlinks
false
尽管如此设置,git 仍然显示带有
git status
的链接。我知道我可以手动将所有符号链接添加到 .gitignore
(或通过脚本)。
那么我错过了什么部分?
的文档只提到了两次“符号链接”,这并没有回答我的问题,所以大概它不是v2.32版本中的git功能?Git 没有内置功能来忽略符号链接。如果您不想将某些路径包含在存储库中,无论这些路径是否是符号链接,您都可以在
.gitignore
中指定它们,如果它们未被跟踪,Git 将忽略它们。您必须按文件名明确列出它们,因为 .gitignore
文件不提供选择不同文件类型的方法。但是,您可以忽略带有尾部斜杠的目录(例如,foo/
)以忽略该目录及其全部内容。
如果它们已经被跟踪,那么您需要使用
git rm --cached
将它们从索引中删除,以便它们不被跟踪,然后忽略它们将是有效的。 Git 不提供忽略跟踪文件的方法。
一般来说,您希望避免修改
core.symlinks
。该值是由 Git 确定的内部值,用于提醒自己相关操作系统和文件系统是否支持符号链接(因为在 Windows 上,符号链接可能需要您可能没有的提升权限)。它不是为用户修改而设计的,而且无论如何也不会产生您想要的行为。