about summary refs log tree commit diff
path: root/git
diff options
context:
space:
mode:
Diffstat (limited to 'git')
-rw-r--r--git/.gitconfig84
-rw-r--r--git/.gitignore37
-rwxr-xr-xgit/@install7
3 files changed, 128 insertions, 0 deletions
diff --git a/git/.gitconfig b/git/.gitconfig
new file mode 100644
index 0000000..0394754
--- /dev/null
+++ b/git/.gitconfig
@@ -0,0 +1,84 @@
+[user]
+	name = Azat Bahawi
+	email = azahi@teknik.io
+	signingkey = 0xB40FCB6608BBE3B6
+[core]
+	attributesfile = ~/.gitattributes
+	excludesfile = ~/.gitignore
+	whitespace = trailing-space
+[init]
+	defaultbranch = master
+[commit]
+	gpgsign = true
+[diff]
+	mnemonicprefix = true
+	renames = copies
+	submodule = log
+[branch]
+	autosetupmerge = always
+	autosetuprebase = always
+[merge]
+	conflictstyle = diff3
+	stat = true
+[rebase]
+	autosquash = true
+	autostash = true
+[fetch]
+	prune = true
+[push]
+	default = current
+	followtags = true
+[pull]
+	ff = only
+	rebase = true
+[status]
+	submodulesummary = true
+[rerere]
+	enabled = true
+[advice]
+	detachedhead = false
+	pushnonfastforwards = false
+	statushints = false
+[color]
+	ui = true
+[github]
+	user = azahi
+[alias]
+	ad = add
+	ada = add --all
+	al = config --get-regexp alias
+	br = branch --all
+	ch = checkout
+	cho = checkout --orphan
+	ci = commit
+	cia = commit --amend
+	cias = commit --amend --signoff
+	cl = clone
+	clr = clone --recurse-submodules
+	cls = clone --depth=1
+	cp = cherry-pick
+	di = !"git diff-index --quiet HEAD ; git diff --patch-with-stat"
+	dis = !"git diff-index --quiet HEAD ; git diff --patch-with-stat --staged"
+	fe = fetch
+	fer = fetch --all --recurse-submodules
+	fuck = reset --hard
+	gud = commit --message=\"git gud\"
+	hist = log --all --decorate --abbrev-commit --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
+	lo = log
+	ls = ls-files
+	me = merge
+	mei = merge --interactive
+	pl = pull
+	plr = pull --all --recurse-submodules
+	ps = push
+	rb = rebase
+	rbi = rebase --interactive
+	re = reset HEAD
+	ree = reset HEAD^
+	reee = reset HEAD^^
+	setup = !"git init && git commit --allow-empty -m Initial"
+	st = status --short
+	ui = update-index --assume-unchanged
+	uiu = update-index --un-assume-unchanged
+	wc = whatchanged -p --abbrev-commit --pretty=medium
+	wtc = !"curl -s whatthecommit.com/index.txt | git commit --file -"
diff --git a/git/.gitignore b/git/.gitignore
new file mode 100644
index 0000000..eefa962
--- /dev/null
+++ b/git/.gitignore
@@ -0,0 +1,37 @@
+# Vim
+.netrwhist
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+
+# Emacs
+*~
+.dir-locals.el
+\#*\#
+
+# JetBrains
+.idea/
+cmake-build-*/
+
+# VSCode
+.vscode/
+
+# Tags
+.[Tt][Aa][Gg][Ss]
+[Tt][Aa][Gg][Ss]
+![Tt][Aa][Gg][Ss]/
+
+# Misc
+*.bak
+*.tmp
+.ccls-cache/
+.clangd/
+.gdb_history
+.svn/
+.wakatime-project
+a.out
+compile_commands.json
+cscope.*
+vgcore.*
diff --git a/git/@install b/git/@install
new file mode 100755
index 0000000..677a6ab
--- /dev/null
+++ b/git/@install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+stow \
+    --target="${HOME}" \
+    --ignore="^@.*" \
+    --verbose \
+    git

Consider giving Nix/NixOS a try! <3