gpt4 book ai didi

linux - 不能硬链接(hard link) gitconfig 文件

转载 作者:IT王子 更新时间:2023-10-29 00:26:46 24 4
gpt4 key购买 nike

我正在尝试创建一个 git 存储库来存储我所有的点文件和配置文件。我的想法是简单地创建指向我关心的所有文件的硬链接(hard link),并将这些链接存储在它们自己的目录中,我可以将其转化为存储库。

虽然我的 ~/.gitconfig 文件遇到了一些障碍。似乎每当我运行“git config”命令时,我创建的链接不再指向正确的位置,例如存储库中的文件不再正确更新。

这是一个使用 shell 和交互式 ruby​​ 确定文件链接状态的示例。

# Create the link
$ ln .gitconfig .conf_files/gitconfig # Create the link

# The files are in fact linked
[1] pry(main)> File.identical?('.gitconfig', '.conf_files/gitconfig')
=> true

# Update the gitconfig file by running a 'git config' command
$ git config --global alias.last 'log -1 HEAD'

# The files are no longer linked.
[2] pry(main)> File.identical?('.gitconfig', '.conf_files/gitconfig')
=> false

我认为这与 git 编写 .gitconfig 文件的方式有关。有谁知道为什么会发生这种情况,或者有任何创造性的解决方法?

最佳答案

http://www.xxeo.com/archives/2010/02/16/dotfiles-in-git-finally-did-it.html 的评论中尝试 Eli Barzilay 的解决方案:

So I’ve finally found a solution that takes the best of both: put the repo in a subdirectory, and instead of symlinks, add a configuration option for “core.worktree” to be your home directory. Now when you’re in your home directory you’re not in a git repo (so the first problem is gone), and you don’t need to deal with fragile symlinks as in the second case. You still have the minor hassle of excluding paths that you don’t want versioned (eg, the “*” in “.git/info/exclude” trick), but that’s not new.

关于linux - 不能硬链接(hard link) gitconfig 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11786623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com