如何为GIT信息库中的文件创建符号链接

问题描述 投票:-2回答:1

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

有没有办法为“ folder / hello.js”文件创建符号链接并删除其他10个文件。

linux windows git symlink
1个回答
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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.