• by disintegrator on 6/27/2024, 2:57:02 PM

    One git life hack I adopted is to sign my commits with an SSH key that is stored in 1Password. Anytime a tool like git or vs code (with git under the hood) wants to sign commits, fetch/pull/push a remote, or clone a repo I get a nice pop up from 1P which prompts for TouchID on my macbook. My SSH keys don't not live on my machine as a result. This also works with SSH agent forwarding if you develop inside a VM or remote machine.

  • by wizerno on 6/27/2024, 1:17:01 PM

    Julia Evans blog post [1] on the same topic, contains some more useful options.

    [1] https://jvns.ca/blog/2024/02/16/popular-git-config-options/

  • by joshka on 6/27/2024, 5:58:00 PM

    I'm generally addicted to the oh-my-zsh git plugin aliases[1]. Mostly gswm (git switch main), gswc (git switch --create), gpf (git push --force-with-lease), gcam (git commit all --message), gcan! (git commit all --amend --no-edit), grbm (git rebase main), grbc (git rebase --continue), grba (git rebase --abort)

    gwip (git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]") is kinda useful when I want an actual commit before I change branches to do something else (I use this more often than stashing.

    I also am a fan of git-brv from git extras (list branches verbose sorted by date - with the option to sort reverse so the last modified branch is the last one on your terminal)

    And also git-trim - clean up merged branches

    [1]: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git

  • by dennis-tra on 6/27/2024, 2:19:16 PM

    I’d like to add

      please = push —-force-with-lease
    
    for rebase-heavy workflows

  • by ribasushi on 6/27/2024, 10:47:31 AM

    Cool stuff, thanks for sharing. I strongly recommend you add `rerere.enabled true` (makes `git pull --rebase` life easier)

  • by suralind on 6/27/2024, 2:18:23 PM

    Really cool, here's mine [0] that's slightly longer. I also have a bunch of other stuff that you may like.

    I also have a few handy aliases for commands I never remember [1]. Don't need to have shortcuts like `git co` and others, because I use CMD + R with fzf to find what I need.

    [0]: https://github.com/artuross/dotfiles/blob/main/home/dot_conf...

    [1]: https://github.com/artuross/dotfiles/blob/main/home/dot_conf...

  • by pajko on 6/27/2024, 12:08:57 PM

    Should have a setting for autocrlf and safecrlf to avoid shooting yourself in the foot while copying the config between platforms.

  • by GauntletWizard on 6/27/2024, 10:38:10 PM

    There's a bug in here: some git git commands will fail if you are in a subdirectory; i.e. git git add foo, because the behavior of ! Is to run those from the git root. My solution is:

      git = !cd -- ${GIT_PREFIX:-.} && git

  • by Am4TIfIsER0ppos on 6/27/2024, 1:28:50 PM

    If you want an interactive commit graph, among other features, look at tig https://jonas.github.io/tig/

  • by fp64 on 6/28/2024, 9:25:58 AM

    Nice to see other people carrying on with ci and co aliases as well. I don’t really remember, co goes back to cvs no? ci as well I think?