代码之家  ›  专栏  ›  技术社区  ›  Peter

让Git跟踪symlinks(再次)

git
  •  23
  • Peter  · 技术社区  · 16 年前

    有人已经问过如何让Git跟踪symlinks。有一个符号链接的答案 目录 ,但不适用于符号链接的 文件 . 这也是一年多前的事了。

    问题:如何让Git跟踪一个符号链接并添加它引用的文件?

    这是一个老问题: How can I get git to follow symlinks? . 还有一个关于Git通常做什么的问题 How does git handle symbolic links? . 我在寻求一种改变这种行为的方法。

    如果你介意的话:我在Unix上运行Git1.5.4.3,在Mac上运行Git1.6.0。

    4 回复  |  直到 9 年前
        1
  •  23
  •   Cascabel    16 年前

    我很肯定没有办法。

    另外,这听起来像是一种不安全的、未定义的行为——当您在文件版本之间移动并且需要写入文件时,它应该做什么?尤其是,如果在添加修订之前签出修订,是否确实希望它删除存储库外文件的内容?如果您返回到现在并重新创建文件,或者修改了symlink本身,会发生什么情况?Git还应该跟踪symlink本身吗?

    沿着这些线的东西是 said on the git mailing list 去年晚些时候,针对实质上相同的问题。

        2
  •  12
  •   Marios Zindilis    15 年前

    您可以使用硬链接而不是软链接(也称为符号链接)。然后Git将看到链接文件的内容。缺点是,当有人签出时,该文件在签出目录中创建为普通文件,因为Git不将其理解为链接。

        3
  •  6
  •   edmondscommerce    15 年前

    如果使用硬链接,那么Git就不知道它是一个链接文件(是吗?)

        4
  •  2
  •   a8ksh4    9 年前

    使用硬链接的问题是,如果写入其他位置的内容替换了文件,而不仅仅是写入对其所做的更改,那么目标文件在文件系统上有一个新的inode,并且硬链接不再指向它,因此文件不同步。