我想将所有点文件(如 .profile、.gitconfig 等)放在中央 git 存储库中,这样我就可以更轻松地跟踪更改。我这样做了,但我想知道如何正确处理使它们与 ~/ 中的实际文件保持同步。我以为你可以使用 硬链接这两个文件ln
,但这似乎没有像我预期的那样工作,即如果我编辑一个文件,另一个文件不会改变。也许我误用了命令ln
,或者我误解了硬链接的工作原理。
人们通常怎么做呢?从 GitHub 来看,这是相当流行的做法,所以肯定有人想出了一种无缝的方式来做到这一点。
顺便说一下,我使用的是 Mac OS X 10.6。
答案1
答案2
我一直在帮助开发一个工具来处理这个问题,叫做新鲜壳。它与 homesick 类似,但增加了能够从任何 GitHub 存储库中提取文件的功能,其理念是,你可以在获取自己的配置的同时,获取其他人的配置。
fresh 是一款将其他 shell 配置(别名、函数等)导入到您自己的配置文件中的工具。我们还支持 ackrc 和 gitconfig 等文件。您可以将其视为您的点文件的 Bundler。
答案3
实现无痛点文件管理的方法有很多,比如我见过最流行的一种是创建一个 git 仓库并符号链接点文件,虽然这种解决方案适用于存储,但它完全无痛吗?不!,您仍然需要在克隆 git 仓库后进行一些配置。
关于 CS 的事情是,我们总是可以做得更好,话虽如此,但存在一个更优雅的解决方案,只需使用 git
。这里的技巧是创建一个bare
存储库,而不是普通的存储库。
bare
通过执行以下操作在主目录中创建存储库git init --bare $HOME/.dotfiles
- 为方便起见,创建一个别名,名称
dotfiles
为.zshrc
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME
- 您可以像普通 git 存储库一样使用它来添加、提交和推送。
# to check the status of the tracked and untracked files
dotfiles status
# to add a file
dotfiles commit .tmux.conf -m ".tmux.conf added"
# push new files or changes to the github
dotfiles push origin main
阅读更多关于如何自动安装应用程序和库的信息 -https://github.com/kalkayan/dotfiles