我最近在一个git仓库中添加并提交了一个符号链接指向一个文本文件(在外部目录中)。我期望这会将文本文件的内容一并提交。但是,当我将该仓库克隆到第二台机器时,符号链接仍然是符号链接。它现在指向第二台机器上同名但无关的另一个文本文件。我的问题是,为什么和如何使git以这种方式运作?为什么可以提交实际的链接本身?在什么情况下会有用?谢谢!
简而言之,git将文件(文件、符号链接、目录)添加到源代码控制中。如果符号链接的目标也在源代码控制中或者至少在已知位置,则通常不会出现问题。如果这与你想要做的不符,我首先会考虑为什么你希望该文件是符号链接,并且仍然在版本控制中。很可能,你会发现你其实并不需要这样做。关于这个问题已经有很多讨论了,包括一些解释为什么会这样,以及如何解决它的讨论。