As aliases

alias g-log="git log --graph --format='format:%C(yellow)%h%C(reset) %s %C(magenta)%cr%C(reset)%C(auto)%d%C(reset)'"
alias g-history='gitk --all &'
alias g-checkout='git checkout $(git branch --sort=-committerdate --no-merged | fzf)'
alias g-commit='git citool &'
alias g-amend='git citool --amend &'
alias g-rebase='git rebase --interactive --autosquash'
alias g-pull='git pull --verbose --rebase'
alias g-pushf='git push --verbose --force-with-lease'
alias g-status='git status --ignored'
alias g-clean='git clean -fdx && git reset --hard && git submodule foreach --recursive git clean -fdx && git submodule foreach --recursive git reset --hard'
  • cd_slash_rmrf
    link
    fedilink
    arrow-up
    14
    ·
    edit-2
    10 months ago

    this article suggests shell allowed, but git also has a built-in feature for aliases itself. I prefer these as it allows you to keep using the git command normally (more consistent when you tend to use history search/auto-suggestions heavily).

    running git config --global alias.st status, for example, will allow you to run git st as an alias for typing out the full git status (you can also manually add aliases to your ~/.gitconfig).

    • OttoOP
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      I just prefix all my git aliases with g-. So for status I type g-s<tab>.