如何为GIT存储库中的文件创建符号链接

时间:2019-11-12 08:02:36

标签: linux windows git symlink

我在GIT存储库中有一个名为“ folder / hello.js”的文件。它在同一GIT存储库中还有10个其他重复文件。每次我签出并修改“ hello.js”时,我都必须手动更改所有其他10个重复文件。

有什么方法可以为“ folder / hello.js”文件创建符号链接,并删除其他10个文件。

1 个答案:

答案 0 :(得分:1)

符号链接只是包含指向另一个文件的符号指针的文件。 Git将符号链接的内容提交到其repo中,而克隆也获得相同的内容。

符号链接可以包含文件的绝对或相对路径。相对路径从链接所在的目录开始。所以,想象一下这个目录/文件结构

a -
  |- b -
       |- hello.js
  |- hello.js

您要用指向另一个文件的相对符号链接替换其中一个文件。

假设您确定自己的真实文件位于s/hello.js中,而链接将位于a/b/hellol.js中。因此,您需要在linux类型的shell中做两件事:

rm a/b/hello.js # you need to replace it with a symbolic link
ln -s ../helloljs a/b/hello.js

在dos外壳中

mklink a\b\hello.js ..\hello.js

国际剑联a/b/hello.js将如何包含文字../hello.js。文件系统将使用文本在a/b的父目录中查找真实文件。

Git将保存链接指针,当您克隆存储库时,文件系统将看到指向.. \ hello.js的符号链接

如果您决定将另一个文件用作符号链接,则可以

 ln -s b/hello.js hello.js

这种方式b/hellol.js将是一个相对的符号链接,并且将在路径中代替a/hello.js

符号链接的名称也可以不同于原始文件。一个符号链接也可以指向链状序列中的另一个符号链接。

希望它可以帮助您解决问题。