想在家里和公司两台 Mac 之间同步配置文件,搜到了这个解决方案:
The best way to store your dotfiles: A bare Git repository - Atlassian Developers
I use: git init --bare $HOME/.myconf alias config='/usr/bin/git --git-d... | Hacker News
别人写的中文介绍:使用 git 管理 dotfiles
主要用到的命令:
git init --bare $HOME/.myconf
alias config='/usr/bin/git --git-dir=$HOME/.myconf/ --work-tree=$HOME'
config config status.showUntrackedFiles no
#where my ~/.myconf directory is a git bare repository. Then any file within the home folder can be versioned with normal commands like:
config status
config add .vimrc
config commit -m "Add vimrc"
config add .config/redshift.conf
config commit -m "Add redshift config"
config push
方式略有点奇葩,不过好处是不用搞什么软链接。里面有一些 git 黑魔法,大家也可以学学
在我的理解里,git init --bare 一般是用于创建远程仓库的,它这里一开始创建的就是远程仓库
如果我也想把这个库同时 push 到 github 上去该怎么做?我想的是需要在电脑本地另外的位置 git clone 这个库,然后增加一个 github remote,应该就没有问题了
1
congeec 2018-06-23 12:39:18 +08:00 via iPhone
Dropbox 实时同步。反正也没多少东西不占空间
|
2
pheyer OP 奇怪的是能 config push,不能 config pull,用 config remote -v 发现没有远程分支,还有.git 文件在哪里,可能是因为没有 git clone 这个过程?
在另外位置的 dotfile 文件里添加了一个新文件,push 到$HOME.myconf 库,不知道怎么让它显示出来 |
3
cyio 2018-06-23 13:08:12 +08:00
|
4
zn 2018-06-23 13:08:51 +08:00 via iPhone
直接在 $HOME 创建一个仓库不就得了,然后加一个 .gitignore,内容是 * ,默认忽略所有文件,然后手动添加要管理的文件。
|
6
XGHeaven 2018-06-23 13:18:21 +08:00 via Android
像我这种几乎不会重装的人,没有备份的必要😂
|
7
Arnie97 2018-06-23 17:06:22 +08:00
有点意思,不过我用的也是 #4 的办法,比这个更简单
|
8
heikejia 2018-06-23 18:28:38 +08:00 via iPhone
把安装脚本写好就行了
|
9
haoliang 2018-06-25 00:25:48 +08:00
> 不过好处是不用搞什么软链接。
难道用软链接有什么坏处? > 方式略有点奇葩,... 里面有一些 git 黑魔法 这怎么跟优雅有点远了吧? 看看这个[stow]( http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html) |
12
m9rco 2019-01-16 15:26:29 +08:00
|