# Sample of git config file (Example .gitconfig) (Place them in $XDG_CONFIG_HOME/git)

> Source: <https://gist.github.com/pksunkara/988716>
> Published: 2011-05-24 13:37:30+00:00

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
