Sample of git config file (Example .gitconfig) (Place them in $XDG_CONFIG_HOME/git) This article provides a sample `.gitconfig` file, which is a configuration file for Git that should be placed in the `$XDG_CONFIG_HOME/git` directory. The example file includes user identity settings, core preferences like editor and pager, and extensive configurations for branches, diffs, aliases, and tools such as Delta for enhanced diff output. It also demonstrates settings for remotes, rebasing, pruning, and Git LFS integration. config This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters vi: ft=dosini user name = Pavan Kumar Sunkara email = pavan.sss1991@gmail.com username = pksunkara core editor = nvim whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol pager = delta column ui = auto branch sort = -committerdate tag sort = version:refname init defaultBranch = master checkout defaultRemote = origin rerere enabled = 1 autoupdate = 1 diff algorithm = histogram colorMoved = plain renames = true tool = nvimdiff difftool prompt = false push autoSetupRemote = true followTags = true fetch prune = true pruneTags = true all = true rebase autoSquash = true updateRefs = true color ui = auto color "branch" current = yellow bold local = green bold remote = cyan bold color "diff" meta = yellow bold frag = magenta bold old = red bold new = green bold whitespace = red reverse color "status" added = green bold changed = yellow bold untracked = red bold sendemail smtpencryption = tls smtpserver = smtp.gmail.com smtpuser = pavan.sss1991@gmail.com smtppass = password smtpserverport = 587 web browser = google-chrome instaweb httpd = apache2 -f delta features = line-numbers decorations line-numbers = true delta "decorations" minus-style = red bold normal plus-style = green bold normal minus-emph-style = white bold red minus-non-emph-style = red bold normal plus-emph-style = white bold green plus-non-emph-style = green bold normal file-style = yellow bold none file-decoration-style = yellow box hunk-header-style = magenta bold hunk-header-decoration-style = magenta box minus-empty-line-marker-style = normal normal plus-empty-line-marker-style = normal normal line-numbers-right-format = "{np:^4}│ " trim bases = master,main protected = production sequence editor = interactive-rebase-tool filter "lfs" clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true alias a = add --all ai = add -i ap = apply as = apply --stat ac = apply --check ama = am --abort amr = am --resolved ams = am --skip b = branch ba = branch -a bd = branch -d bdd = branch -D br = branch -r bc = rev-parse --abbrev-ref HEAD bu = git rev-parse --abbrev-ref --symbolic-full-name "@{u}" bs = git-branch-status bt = git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@' bl = blame -w bll = blame -w -L blm = blame -w -C -C -C blml = blame -w -C -C -C -L c = commit ca = commit -a cm = commit -m cam = commit -am cem = commit --allow-empty -m cd = commit --amend cad = commit -a --amend ced = commit --allow-empty --amend cl = clone cld = clone --depth 1 clg = sh -c 'git clone https://github.com/$1' - clgp = sh -c 'git clone git@github.com:$1' - clsp = sh -c 'git clone git@git.sr.ht:~$1' - clgu = sh -c 'git clone git@github.com:$ git config --get user.username /$1' - clsu = sh -c 'git clone git@git.sr.ht:~$ git config --get user.username /$1' - cp = cherry-pick cpa = cherry-pick --abort cpc = cherry-pick --continue d = diff dc = diff --cached dk = diff --check dkc = diff --cached --check dt = difftool dtc = difftool --cached dw = diff --word-diff f = fetch fo = fetch origin fu = fetch upstream fp = format-patch fk = fsck g = grep -p l = log --oneline lg = log --oneline --graph --decorate ll = log -L lf = log -S ls = ls-files lsf = git ls-files | grep -i m = merge ma = merge --abort mc = merge --continue ms = merge --skip o = checkout om = git checkout $ git bt ob = checkout -b pr = prune -v ps = push psf = push --force-with-lease psu = push -u pst = push --tags pso = push origin psao = push --all origin psfo = push --force-with-lease origin psuo = push -u origin psom = git push origin $ git bt psaom = git push --all origin $ git bt psfom = git push --force-with-lease origin $ git bt psuom = git push -u origin $ git bt psoc = git push origin $ git bc psaoc = git push --all origin $ git bc psfoc = git push --force-with-lease origin $ git bc psuoc = git push -u origin $ git bc psdc = git push origin :$ git bc pl = pull pb = pull --rebase plo = pull origin pbo = pull --rebase origin plom = git pull origin $ git bt ploc = git pull origin $ git bc pbom = git pull --rebase origin $ git bt pboc = git pull --rebase origin $ git bc plu = pull upstream plum = git pull upstream $ git bt pluc = git pull upstream $ git bc pbum = git pull --rebase upstream $ git bt pbuc = git pull --rebase upstream $ git bc rb = rebase rba = rebase --abort rbc = rebase --continue rbi = rebase --interactive rbs = rebase --skip re = reset rh = reset HEAD reh = reset --hard rem = reset --mixed res = reset --soft rehh = reset --hard HEAD remh = reset --mixed HEAD resh = reset --soft HEAD rehom = git reset --hard origin/$ git bt r = remote ra = remote add rr = remote rm rv = remote -v rn = remote rename rp = remote prune rs = remote show rao = remote add origin rau = remote add upstream rro = remote remove origin rru = remote remove upstream rso = remote show origin rsu = remote show upstream rpo = remote prune origin rpu = remote prune upstream rmf = rm -f rmrf = rm -r -f s = status sb = status -s -b sa = stash apply sc = stash clear sd = stash drop sl = stash list sp = stash pop ss = stash save ssk = stash save -k sw = stash show st = git stash list | wc -l 2 /dev/null | grep -oEi ' 0-9 0-9 ' snap = git stash save 'snapshot: $ date ' && git stash apply 'stash@{0}' t = tag td = tag -d w = show wa = worktree add wl = worktree list wp = worktree prune wr = worktree remove wx = worktree repair subadd = sh -c 'git submodule add https://github.com/$1 $2/$ basename $1 ' - subrm = sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' - subup = submodule update --init --recursive subpull = git submodule foreach 'git pull --tags -f origin $ git bt ' subsync = submodule sync --recursive assume = update-index --assume-unchanged unassume = update-index --no-assume-unchanged assumed = git ls -v | grep ^h | cut -c 3- unassumeall = git assumed | xargs git unassume assumeall = git status -s | awk {'print $2'} | xargs git assume bump = sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' - release = sh -c 'git tag v$1 && git pst' - unrelease = sh -c 'git tag -d v$1 && git pso :v$1' - behind = git rev-list --left-only --count $ git bu ...HEAD ahead = git rev-list --right-only --count $ git bu ...HEAD merged = sh -c 'git om && git plom && git trim' ignore = sh -c 'echo "$1" .git/info/exclude' - aliases = git config -l | grep alias | cut -c 7- bare = sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' - whois = sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae \"' - serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git ours = " f { git checkout --ours $@ && git add $@; }; f" theirs = " f { git checkout --theirs $@ && git add $@; }; f" subrepo = sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 $ git bt ' - human = name-rev --name-only --refs=refs/heads/ ignore This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters Compiled source .com .class .dll .exe .o .so Temporary files .swp .swo ~ Packages .7z .dmg .gz .iso .jar .rar .tar .zip Logs .log OS generated files .DS Store ehthumbs.db Icon? Thumbs.db Editor files .vscode .zed