我在GIT存储库中有一个名为“ folder / hello.js”的文件。它在同一GIT存储库中还有10个其他重复文件。每次我签出并修改“ hello.js”时,我都必须手动更改所有其他10个重复文件。
有什么方法可以为“ folder / hello.js”文件创建符号链接,并删除其他10个文件。
答案 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
符号链接的名称也可以不同于原始文件。一个符号链接也可以指向链状序列中的另一个符号链接。
希望它可以帮助您解决问题。