aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/gitconfig
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2021-03-20 17:10:58 -0500
committerToby Vincent <tobyv13@gmail.com>2021-03-20 17:10:58 -0500
commitec5dc4d93af9c57304ecc2c5468ad10225707d71 (patch)
treeae4c9b6f1ba833a001b5bb8d0488fefbba7fbbfa /gitconfig
parent59f0a992363e1d616531c6724b524ec191f9c61b (diff)
feat: added configs
Diffstat (limited to 'gitconfig')
-rwxr-xr-xgitconfig105
1 files changed, 105 insertions, 0 deletions
diff --git a/gitconfig b/gitconfig
new file mode 100755
index 0000000..422f7ea
--- /dev/null
+++ b/gitconfig
@@ -0,0 +1,105 @@
+[credential]
+ helper = /mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe
+[user]
+ email = tobyv13@gmail.com
+ name = Toby Vincent
+ username = tobyvin
+[hub]
+ protocol = ssh
+[core]
+ editor = \"C:\\Users\\tobyv\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" --wait
+[diff]
+ tool = default-difftool
+[difftool "default-difftool"]
+ cmd = code --wait --diff $LOCAL $REMOTE
+[url "git@github.com:"]
+ pushInsteadOf = "https://github.com/"
+[url "https://github.com/"]
+ insteadOf = "git@github.com:"
+[alias]
+ ## basic
+ st = status -s
+ cl = clone
+ ci = commit
+ co = checkout
+ br = branch
+ r = reset
+ cp = cherry-pick
+ gr = grep -Ii
+
+ # undo http://megakemp.com/2016/08/25/git-undo/
+ undo = "!f() { git reset --soft $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f"
+
+ ## tweak defaults
+ diff = diff --word-diff
+ branch = branch -ra
+ grep = grep -Ii
+ bra = branch -ra
+ ai = add --interactive
+
+ ## log commands
+ lg = log --graph --oneline --decorate --all
+ lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
+ lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
+ lg3 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset) %C(bold cyan)(committed: %cD)%C(reset) %C(auto)%d%C(reset)%n'' %C(white)%s%C(reset)%n'' %C(dim white)- %an <%ae> %C(reset) %C(dim white)(committer: %cn <%ce>)%C(reset)' --all
+ ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%an]" --decorate --date=relative
+ ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [a:%an,c:%cn]" --decorate --numstat
+ lc = "!f() { git ll "$1"^.."$1"; }; f"
+ lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
+ fl = log -u
+ filelog = log -u
+
+ ## grep on filename
+ f = "!git ls-files | grep -i"
+
+ ## commit
+ cm = commit -m
+ cma = commit -a -m
+ ca = commit --amend
+ amend = commit --amend
+ caa = commit -a --amend -C HEAD
+
+ ## diff
+ d = diff --word-diff
+ dc = diff --cached
+
+ ## diff last commit
+ dlc = diff --cached HEAD^
+ dr = "!f() { git diff -w "$1"^.."$1"; }; f"
+ diffr = "!f() { git diff "$1"^.."$1"; }; f"
+
+ ## reset commands
+ r1 = reset HEAD^
+ r2 = reset HEAD^^
+ rh = reset --hard
+ rh1 = reset HEAD^ --hard
+ rh2 = reset HEAD^^ --hard
+
+ ## stash
+ sl = stash list
+ sa = stash apply
+ ss = stash save
+
+ ## submodules
+ # remove
+ smrm = "!f(){ git rm --cached \"$1\";rm -r \"$1\";git config -f .gitmodules --remove-section \"submodule.$1\";git config -f .git/config --remove-section \"submodule.$1\";git add .gitmodules; }; f"
+
+ ## subtree
+ # add
+ sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
+ # update/pull
+ sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f"
+
+ ## last tag created
+ lasttag = describe --tags --abbrev=0
+ lt = describe --tags --abbrev=0
+
+ ## list remotes
+ rem="!git config -l | grep remote.*url | tail -n +2"
+
+ # list all aliases
+ la = "!git config -l | grep alias | cut -c 7-"
+
+ # worktree list {{{
+ wl = worktree list
+ ignore = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi"