0

我有一个包含三个顶级目录的项目:

A
B/dir1
C/symlink_to_dir1

如您所见,我们正在将 C 中的一个目录符号链接到 B 中的另一个目录。这三个目录存储在 Windows 上的一个 Git 存储库中,但是当我们尝试提交符号链接时遇到了问题。据我了解,Git 会将符号链接存储为这样,并将其作为符号链接解压缩到克隆到的任何 repo 中。

但是,当我们暂存符号链接时,添加的是 dir1 本身中的文件,而不是链接本身。当我们提交时,git status会告诉我们工作目录是干净的,但git add -A会从符号链接目录中删除所有文件,并告诉我们符号链接未跟踪。这在我们提交后立即发生,没有发生任何操作。

我们希望保留符号链接,这样我们就不必在每次克隆存储库时都恢复它,我的理解是这是 Git 中的默认行为。谁能告诉我我们在这里做错了什么?

4

1 回答 1

2

如果您使用基于 msysgit 的 Windows 版 Git,那么答案就是不支持符号链接(由 Windows Vista 引入),即使 core.symlinks 设置为 true。作为参考,您可能想查看这个讨论,但请记住,Google Code 上的问题跟踪器已关闭(支持 GitHub 上的问题跟踪器)。

但是,似乎有一个实现 symlink 支持的 fork,但该工作尚未合并到 msysgit 中。

于 2012-07-10T11:26:46.533 回答