# Git snippets - trigger schema: }g # g = git matches: # === DAILY COMMANDS (shortest) === - trigger: "}gs" replace: "git status" - trigger: "}ga" replace: "git add {{what}}" vars: - name: what type: choice params: values: ["$|$", ".", "-p ", "-u ", "-A "] - trigger: "}gc" replace: 'git commit -m "$|$"' - trigger: "}gca" replace: 'git commit --amend -m "$|$"' - trigger: "}gcan" replace: "git commit --amend --no-edit" - trigger: "}gp" replace: "git push {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "-u origin HEAD", "--force", "--tags"] - trigger: "}gpl" replace: "git pull {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "--rebase", "origin main", "origin master"] - trigger: "}gf" replace: "git fetch {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "--all", "origin"] - trigger: "}gcl" replace: "git clone $|$" # === BRANCHING === - trigger: "}gco" replace: "git checkout {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "-b ", "main", "master", "-"] - trigger: "}gb" replace: "git branch {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "-d ", "-D ", "-a", "-r", "-m "] - trigger: "}gm" replace: "git merge {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "--no-ff ", "--squash ", "--abort"] - trigger: "}gr" replace: "git rebase {{opt}}" vars: - name: opt type: choice params: values: [ "$|$", "-i HEAD~3", "--abort", "--continue", "--skip", "main", "master", ] - trigger: "}grem" replace: "git remote {{opt}}" vars: - name: opt type: choice params: values: ["-v", "add origin ", "remove ", "set-url origin "] # === HISTORY & DIFF === - trigger: "}gd" replace: "git diff {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "--staged", "HEAD~1", "--stat"] - trigger: "}gl" replace: "git log --oneline --graph --all" - trigger: "}gls" replace: "git log --oneline -10" - trigger: "}gsh" replace: "git show {{opt}}" vars: - name: opt type: choice params: values: ["HEAD", "HEAD~1", "$|$"] # === STASH === - trigger: "}gst" replace: "git stash {{opt}}" vars: - name: opt type: choice params: values: ["$|$", 'push -m "', "pop", "list", "apply", "drop", "clear"] # === UNDO & RESET === - trigger: "}gu" replace: "git reset --soft HEAD~1" - trigger: "}guh" replace: "git reset --hard HEAD~1" - trigger: "}grst" replace: "git reset {{mode}}" vars: - name: mode type: choice params: values: ["--soft HEAD~1", "--hard HEAD~1", "HEAD ", "$|$"] - trigger: "}gdc" replace: "git checkout -- {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "."] - trigger: "}gcln" replace: "git clean -fd{{opt}}" vars: - name: opt type: choice params: values: ["", " -n"] - trigger: "}grm" replace: "git clean -fd" # === CHERRY-PICK & REVERT === - trigger: "}gcp" replace: "git cherry-pick {{opt}}" vars: - name: opt type: choice params: values: ["$|$", "-x ", "--continue", "--abort"] - trigger: "}grv" replace: "git revert {{opt}}" vars: - name: opt type: choice params: values: ["HEAD", "HEAD~1", "$|$"] # === MISC === - trigger: "}gbl" replace: "git blame $|$" - trigger: "}grl" replace: "git reflog" - trigger: "}gbs" replace: "git bisect {{opt}}" vars: - name: opt type: choice params: values: ["start", "good", "bad", "reset"] - trigger: "}gcfg" replace: 'git config --global {{key}} "{{val}}"' vars: - name: key type: choice params: values: ["user.name", "user.email", "core.editor", "init.defaultBranch"] - name: val type: choice params: values: ["$|$", "vim", "main"] # === COMMIT CONVENTIONS === - trigger: "}gcc" replace: "{{type}}{{scope}}: " vars: - name: type type: choice params: values: [ "feat", "fix", "docs", "style", "refactor", "perf", "test", "chore", ] - name: scope type: choice params: values: ["", "(api)", "(ui)", "(db)", "(auth)", "(ci)"] - trigger: "}gfix" replace: "fixup! $|$" - trigger: "}gsq" replace: "squash! $|$" # === BRANCH NAMES === - trigger: "}gbr" replace: "release/v$|$" - trigger: "}gcb" replace: "git branch --show-current" - trigger: "}gbv" replace: "git branch -vva" - trigger: "}gbm" replace: 'git branch --merged | egrep -v "(^\\*|main|master|develop)"' # === GITIGNORE === - trigger: "}gig" replace: 'echo "$|$" >> .gitignore' - trigger: "}gign" replace: | node_modules/ .env npm-debug.log dist/ build/ - trigger: "}gipy" replace: | __pycache__/ *.pyc .env venv/ .venv/ *.egg-info/ - trigger: "}giid" replace: | .idea/ *.iml .vscode/ .DS_Store - trigger: "}gibd" replace: | dist/ build/ *.o *.obj *.exe *.dll *.so *.dylib