diff options
author | jbjjbjjbj <julianteule@gmail.com> | 2017-02-01 16:07:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-01 16:07:16 +0100 |
commit | ab9cf4193f39cb3f694f3db468dab8125865ff5e (patch) | |
tree | 3ee89e5371ed2b3f589bb075f91d82aac4ddddd9 | |
parent | a318be2dfa201923df67451f3307465e829797ae (diff) |
Added summary of article
-rw-r--r-- | README.md | 45 |
1 files changed, 45 insertions, 0 deletions
@@ -6,3 +6,48 @@ This is where i keep my dotfiles and scripts. I use [this](https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/) method of managing dotfiles +If the link above is broken, here is a short summary. + +The method comes from this [thread](https://news.ycombinator.com/item?id=11070797). The idea is to transform your home folder into a git repository, and then add the files you edited. + +### First time setup + +Make a new bare github repository + +Initialize git + +`git init --bare $HOME/.cfg` + +Add the easy to use alias + +`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` + +Set git option + +`config config --local status.showUntrackedFiles no` + +This is important, because othervise git vil print every file in your home directory. + +Remember to add `alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` to your shellrc + +Now commands like `config add`, `config commit`, `config push` and `config pull` can be used to manage and sync you config files to github. + +### Add to new computer + +Configure the alias + +`alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'` + +Make gitignore +`echo ".cfg" >> .gitignore` + +Clone repository +`git clone --bare <git-repo-url> $HOME/.cfg` + +Checkout +`config checkout` + +Backup or delete files that conflict this command and then run `config checkout` again + +And turn off the tracking +`config config --local status.showUntrackedFiles no` |