linux - 如何通过git管理链接源文件?

我想通过 git 管理 nvim 配置。

问题

链接被 git checkout . 命令中断。期望行为是用远程存储库源覆盖我的 nvim 配置。但实际行为是用远程存储库源覆盖链接。

代码

我被尝试如下代码。

# clone
cd ~/Documents/GitHub/
git clone https://github.com/ShortArrow/my-nvim-config
cd my-nvim-config

# delete "./nvim" for making link
rm -r ./nvim
# making link
ln -s ~/.config/nvim/ ./nvim

# if you need, "cp ~/.config/nvim/ ~/.config/nvim-backup"
# I wanna rewrite nvim config by git with this command
git checkout .

已经尝试过

尝试1

sudo git config --system --unset core.symlinks
git config --local core.symlinks false

尝试2

$> sudo ln -d ~/.config/nvim/ ./nvim
ln: failed to create hard link './nvim' => '/home/who/.config/nvim/': Operation not permitted

在 Windows 上

这个 github 存储库与 Windows 上的 Junction 链接配合得很好。

回答1

软链接只是其中包含目标路径的文件(以及告诉操作系统将其视为链接的权限标志),而 Git 将其视为此类。

不要通过将存储库文件更改为指向配置文件的链接来更改存储库中的内容,而是以另一种方式链接:将配置文件链接到存储库。