diff options
Diffstat (limited to '%USERPROFILE%/.gitconfig')
-rw-r--r--[l---------] | %USERPROFILE%/.gitconfig | 85 |
1 files changed, 84 insertions, 1 deletions
diff --git a/%USERPROFILE%/.gitconfig b/%USERPROFILE%/.gitconfig index 983e82f..5369d34 120000..100644 --- a/%USERPROFILE%/.gitconfig +++ b/%USERPROFILE%/.gitconfig @@ -1 +1,84 @@ -../linux-home/%HOME%/.gitconfig
\ No newline at end of file +[user] + name = Egor Tensin + email = Egor.Tensin@gmail.com + +[core] + # Don't touch line endings (I hate the fact that this is an option). + # My go-to approach now is to store everything w/ LF line endings in + # index (using '* text=auto' in root .gitattributes), and checkout with + # specific line endings as required (using additional records in + # .gitattributes, like '*.sh text eol=lf', '*.bat text eol=crlf', + # etc.). + autocrlf = false + +[push] + # If no refspec is given, push to the branch with the same name. + default = upstream + +# Git submodules suck, but they suck less if you read +# https://medium.com/@porteneuve/mastering-git-submodules-34c65e940407. + +# Show submodule changes in a more verbose way. +[diff] + submodule = log +[status] + submoduleSummary = true +[alias] + # Pull and sync submodules. + pulll = !git pull && git submodule sync --recursive && git submodule update --init --recursive + +# Automatically remove obsolete things/publish new things. +[fetch] + # Prune old branches: + prune = true + # Prune old tags (since Git 2.17.0): + pruneTags = true +[push] + # Push new tags: + followTags = true + +[log] + # Follow renames: + follow = true + +[mergetool] + # I don't even know why those are necessary, since we can abort and + # retry merges. + keepBackup = false + +[pull] + # Don't create a merge commit when pulling, fast-forward only. + ff = only + +[alias] + clean-all = clean -fdx + clean-ignored = clean -fdX + clean-unknown = clean -fd + + l = log --oneline + # This is awesome: http://stackoverflow.com/a/1838938/514684 + ll = log --graph --full-history --all --pretty=format:"%h%x09%d%x20%s" + lll = log --graph --full-history --all --color --pretty=tformat:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s%x20%x1b[33m(%an)%x1b[0m" + + # I think this is only usable on Cygwin, given all the file permission + # madness there: + xx = update-index --add --chmod=+x + + hide = update-index --skip-worktree + unhide = update-index --no-skip-worktree + hidden = !git ls-files -v | grep --basic-regexp \"^\\([[:lower:]]\\|S\\)\" + + # Squash the staging area with the latest commit. + # Pass "-a" to skip using `git add`. + fixup = !GIT_EDITOR=true git commit --amend + +[filter "lfs"] + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + clean = git-lfs clean -- %f + required = true + +[include] + # Include a file with computer-specific settings (like a different + # [user] section under a specific directory, etc.). + path = ~/.gitconfig_local |