• Victor@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    What I do with all git related aliases is I alias git to just g in the shell. Then for any alias I want that uses git I just put that alias in the global git config under the alias section.

    This avoids polluting the shell with a bunch of git-specific aliases. Just the one, g.

    • hallettj@leminal.space
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      I certainly see the value in this strategy! But I’m not going to give up my top-level aliases. I enjoy saving two keystrokes too much!

      Here are my most used aliases (these ones use Nushell syntax):

      alias st = git status
      alias sw = git switch
      alias ci = git commit
      alias lg = git log --color --graph '--pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
      alias push = git push
      

      I was also delighted to learn that I could get the same short aliases for corresponding fugitive commands in vim/neovim using the vim-alias plugin:

      -- This is a lazy.nvim plugin module
      return {
        'Konfekt/vim-alias',
        config = function()
          -- Shortcuts for git operations to match some of the shell aliases I have.
          -- For example, `:sw ` expands to `:Git switch `
          vim.cmd [[Alias sw Git\ switch]]
          vim.cmd [[Alias ci Git\ commit]]
          vim.cmd [[Alias pull Git\ pull]]
          vim.cmd [[Alias push Git\ push]]
          vim.cmd [[Alias show Git\ show]]
          vim.cmd [[Alias re Git\ restore]]
          vim.cmd [[Alias lg GV]]
        end,
      }
      

      Fugitive is very nice for integrating git workflows in the editor, and its commands have very nice tab completion for branches and such.

      • Victor@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        two keystrokes

        For me I’d be saving one keystroke. Status for me would be g s, g c for commit, and so on. Single letter aliases for the most common commands, two letters for less common in a conflict. 😁

        But these days since a few years back I just use lazygit (aliased to lg btw, lol).

        Everything in lazygit is basically just single keystrokes also. c for commit, etc. Very handy.

        Fugitive

        Cool beans, sounds like a good tool! I’m on team Helix since a few years, after being a vim/nvim user for about a decade, and emacs a couple years before that. Helix’s paradigm just makes so much sense. 🎯👌 Jumping around symbols intra-file and inter-file, and LSP support built-in, no fussing. Worth a try for a few weeks if you ask me.