aboutsummaryrefslogblamecommitdiffstatshomepage
path: root/%HOME%/.gitconfig
blob: 6ad8097d9127b7873212cb67ed2fdc30ebec8f9b (plain) (tree)
1
2
3
4
5
6
7
8
9




                                     
                        

                         
           
                          

                 
       
                              

                                  
 
                         


                                                                                                                                       
 

                                                                              
                                          



                                                                                  
 


                                                                          


                                                                     


                    






                                                                             
 




                                                                                     

                    
 


                                              





                                                                     
                                                             


                    













                                                                                     
     
               
 

                    

                     

                                




                                        
[user]
	name = Egor Tensin
	email = Egor.Tensin@gmail.com
[core]
	editor = vim
	autocrlf = false
[push]
	default = current
[mergetool]
	keepBackup = false
[pull]
	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\\)\"

	# I heard git might use sh for aliases, so I tried to keep that in
	# mind. Didn't want to bother with an external script.
	fixup = "! \
__git_fixup() { \
    if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1 ; then \
        echo 'Not inside a Git repository.' >&2 ; \
        return 1 ; \
    fi ; \
\
    if ! git rev-parse HEAD >/dev/null 2>&1 ; then \
        echo \"Where's your HEAD?\" >&2 ; \
        return 1 ; \
    fi ; \
\
    has_staged_changes= ; \
    git diff --cached --ignore-submodules --quiet || has_staged_changes=1 ; \
\
    has_unstaged_changes= ; \
    git diff --ignore-submodules --quiet || has_unstaged_changes=1 ; \
\
    if [ -z \"${has_staged_changes}\" ] && [ -z \"${has_unstaged_changes}\" ]; then \
        echo 'No staged or unstaged changes, seemingly?' >&2 ; \
        return 1 ; \
    fi ; \
\
    add=-a ; \
    [ -n \"$has_staged_changes\" ] && add= ; \
\
    numof_parents=`git rev-list --parents -n 1 HEAD | wc --words` ; \
    if [ \"$numof_parents\" -eq 1 ] ; then \
        dest_ref=--root ; \
    elif [ \"$numof_parents\" -eq 2 ] ; then \
        dest_ref=HEAD^^ ; \
    else \
        echo 'Sure you want to fixup a merge commit?' >&2 ; \
        return 1 ; \
    fi ; \
\
    git commit $add --fixup=HEAD || return $? ; \
\
    stash= ; \
    [ -n \"$has_staged_changes\" ] && [ -n \"$has_unstaged_changes\" ] && stash=1 ; \
\
    if [ -n \"$stash\" ]; then \
        git stash push --quiet || return $? ; \
    fi ; \
\
    GIT_EDITOR=true git rebase -i --autosquash \"$dest_ref\" || return $? ; \
\
    if [ -n \"$stash\" ]; then \
        git stash pop --quiet || return $? ; \
    fi ; \
} ; \
__git_fixup ; \
"
[fetch]
	prune = true
[log]
	follow = true
[include]
	path = ~/.gitconfig_work
[filter "lfs"]
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true
	clean = git-lfs clean -- %f