我正在尝试创建一个 git 存储库来存储我的所有点文件和配置文件。我的想法是简单地创建指向我关心的所有文件的硬链接,并将这些链接存储在它们自己的目录中,我可以将其转变为存储库。
我的 ~/.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 文件的方式有关。有谁知道为什么会发生这种情况,或者有任何解决方法的创意想法?
尝试 Eli Barzilay 在他的评论中的解决方案http://www.xxeo.com/archives/2010/02/16/dotfiles-in-git-finally-did-it.html http://www.xxeo.com/archives/2010/02/16/dotfiles-in-git-finally-did-it.html:
所以我终于找到了一个兼具两者优点的解决方案:将 repo
在子目录中,而不是符号链接,添加一个配置选项
“core.worktree”作为您的主目录。现在当你在家时
你不在 git repo 中的目录(所以第一个问题就消失了),并且你
不需要像第二种情况那样处理脆弱的符号链接。你还在
有排除您不希望版本控制的路径的小麻烦(例如,
“.git/info/exclude”技巧中的“*”),但这并不新鲜。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)