Login
You're viewing the assemblag.es public feed.
  • Oct 21, 2026, 12:06 PM

    poll: if you use Git, do you use a terminal text editor to edit your commit messages? (or other things that Git asks you to edit like interactive rebases etc)

    (you can pick more than one)

    💬 26🔄 29⭐ 10

Replies

  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:15 PM

    @b0rk _nearly_ got to tick all the boxes! I use emacs, but depending on the circumstances, it might be an emacs launched specially when I run 'git commit' from the shell prompt, or I may be running Magit in an emacs I had already. In either case the emacs may be GUI or tty-only, depending on whether I'm doing it at the other end of an ssh connection.

    Alas, I couldn't think of any excuse to tick the 'other' box too :-)

    (I do have a completely daft trick where I set VISUAL="cp file.txt", causing git to use the contents of that pre-prepared file instead of spawning an editor. But I only use that for prewritten 'git rebase -i' lists. For commit messages, there's no need: 'git commit' has a perfectly good -F option.)

    💬 1🔄 0⭐ 3
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 21, 2026, 1:16 PM

    @suetanvil @b0rk the usual reason I'm providing a prewritten 'git rebase -i' list in the first place is so I can try it over and over again until I get it right. For the same reason, I usually also make a separate clone of the git repo to do it in, so that I can mess up the first 10 attempts without doing any permanent damage!

    💬 0🔄 0⭐ 1
  • Oct 21, 2026, 3:29 PM

    @simontatham @suetanvil @b0rk When I'm going to do a rebase that I'm afraid I might mess up, I start with `git checkout -b rb`, and rebase that instead. Then when I'm happy with `rb` I reset the real ref to the same place. If I'm unhappy I delete `rb` and nobody is the wiser.

    Why would you want to use a fresh repo?

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:16 PM

    @b0rk I currently use gitui which is a TUI, which is perhaps not the same thing as a GUI? If I'm writing a longer commit message I'll open it in a terminal text editor, currently micro.

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:17 PM

    @b0rk I just use git commit -m and put the message in the terminal. Is that using a terminal editor?

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:19 PM

    @b0rk Commits and interactive rebases through vim because add-ons correctly wrap and highlight everything for me so i don't need to worry about line length or proper wrapping.

    That said, the gitlens UI for interactive rebases in vscode is pretty good and I do use it whenever it decides to show it instead of popping my $EDITOR in the terminal pane, which is a coin toss for some reason.

    💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:34 PM

    @benofbrown @b0rk I've seen beginner guides use it (Djangogirls at one point), because it avoids having to get into the weeds about setting nano up, or worse, vi

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:29 PM

    @b0rk I clicked the GUI option as it's the closest, but I actually have GIT throw up an Emacs window, which is technically graphical but looks like a text interface.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:37 PM

    @b0rk I use the Lazygit plugin in Neovim (which is kind of an IDE 🙂) in a terminal, so I don’t know which category that’s in 😅

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:42 PM

    @b0rk For some reason, I don't trust GUI tools to manipulate the git repository (probably because some GUI tool I've once tried to use made a mess of the repository state, turning a merge into a non-merge with the contents which should have been in the merge). So when editing files to resolve merge conflicts or when adding files and committing, I always use the trusty command line; which then defaults to the terminal text editor I have configured as default.

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 12:45 PM

    @b0rk Too lazy to change the default. I know vi well enough that it’s not a problem, plus I don’t want to switch out to a GUI text editor while I’m in the terminal.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • I Forgetepilanthanomai@signs.codes
    Oct 21, 2026, 12:50 PM

    @b0rk I create most of my git commits through the "fugitive" vim plugin. That keeps most of my commit messages inside my running vim session. Occasionally I'll do one in a command line, though, and that opens vim (my $EDITOR).

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 1:07 PM

    @b0rk most of the time i just write my commit message with -m but my .bashrc is configured with

    if [[ "$TERM_PROGRAM" == "vscode" ]]; then
    export EDITOR='code --wait'
    else
    export EDITOR='nano'
    fi

    so for when i need to write a longer one or i'm doing an interactive rebase or something, it depends on where i'm making the commit from

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 1:11 PM

    @b0rk Random, depending on what exactly I'm doing, how extensive the commit message is going to be (they don't all need to be essays) and how I'm feeling.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Eyevanovicheyevanovich@mas.to
    Oct 21, 2026, 2:31 PM

    @b0rk I use Lazygit for most things Git. It’s a beautiful program.

    💬 0🔄 0⭐ 0
  • Oct 21, 2026, 2:54 PM

    @b0rk Other: if I'm in the terminal (eg. ssh'd into a remote system) I'll try to use helix or vim if they're available to do commit messages. Otherwise I just commit directly in the IDE I'm using (Zed/VSCode).

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 21, 2026, 3:34 PM

    @b0rk I voted other but maybe I'm 'terminal + magit'. For regular commits I basically always use Magit to make selective commits (so Magit + GNU Emacs and it's almost always as a GUI, not in a terminal). But when rebasing, if I hit a rebase conflict I fix it in the terminal and then 'git rebase --continue' usually throws me into vim to maybe fiddle with the old commit message.

    💬 0🔄 0⭐ 0