Configuration files for Windows, used as a bare repository in $env:USERPROFILE
.
See https://stegosaurusdormant.com/bare-git-repo/ and https://www.atlassian.com/git/tutorials/dotfiles/ for more info.
cd $env:USERPROFILE
git init --bare .dotgit
function dotgit {
git.exe --git-dir=${env:USERPROFILE}/.cfg --work-tree=${env:USERPROFILE} $args
}
dotgit add .\somefile
dotgit commit -m "A demo file"
dotgit status
Some needed commands to update submodules. For more info see https://git-scm.com/docs/git-submodule.
function dotgit {
git.exe --git-dir=${env:USERPROFILE}/.cfg --work-tree=${env:USERPROFILE} $args
}
Initialize and populate them
<<dotfunction>>
dotgit submodules update --init --recursive
Save submodule settinghs to local git repository and to an update from the remote.
<<dotfunction>>
dotgit submodule sync --recursive
dotgit submodule update --remote --rebase --recursive
Do a checkout for the correct branch. If there is no branch specified in .gitmodules, master will be checked out.
<<dotfunction>>
dotgit submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'