Prior to the installation, make sure you have sourced the following function:
function config {
/usr/bin/git --git-dir=$HOME/.config.git --work-tree=$HOME "$@"
}
On Windows, execute the following inside cmd.exe
instead:
doskey config=git --git-dir=%USERPROFILE%/.config.git --work-tree=%USERPROFILE% $*
Clone your config into a bare repository under $HOME
:
git clone --bare [email protected]:simonratner/.config.git
Checkout the actual content from the bare repository to your $HOME
:
config checkout
config submodule update --init --recursive
The step above might fail with a message like:
error: The following untracked working tree files would be overwritten by checkout:
.bashrc
Please move or remove them before you can switch branches.
Aborting
This is because your $HOME
folder might already have some stock configuration
files which would be overwritten by Git. The solution is simple: back up the
files if you care about them, remove them if you don't care.
Set the flag showUntrackedFiles to no on this specific (local) repository:
config config --local status.showUntrackedFiles no
See: https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/