What do you use to communicate with your git repositories?

https://lemmy.dbzer0.com/post/64322701

What do you use to communicate with your git repositories? - Divisions by zero

Do you use some GUI, TUI, terminal commands, plugins for other software? Ideally, I want to find a cross-platform GUI app, preferably a FOSS one, and with as less overhead as possible, e.g. no Electron.

Sublime Merge is what I use, mostly for dealing with merge conflicts. For more complex operations I just do it in the terminal, even though I’m sure it supports way more features than I use it for.

It’s not FOSS, but it’s also not Electron.

Raw git. I get lost everytime I try to any git front end, tui or gui.

Fork.dev on Windows and Mac

  • GUI using native APIs, no electron
  • It’s free the same way that sublime text and winzip are. It asks about once a month if you want to pay and you can keep clicking “I’m still trying it out”.
  • Normal git cli is powerful but with a terrible UI with terrible defaults.
    • To use the best commands you need to add a ton of flags to get what you want, or add a whole bunch of aliases and port them between machines.
      • e.g. git log vs git log --graph --all --remotes --decorate
      • e.g. git fetch vs git fetch --prune --all
      • e.g. git stage -p vs nothing (git cli still doesn’t have a good way to specify lines correctly, only hunks that can’t be split properly)

Fork.dev is just what you get when the defaults are set up correctly by default, with more powerful control over staging, and with automatic branch/stash backups whenever your doing risky actions.

The only thing it doesn’t have built in support for is git log -S for when you’re searching for a specific file or commit and don’t know the file or commit, but know a substring in the commit itself. But it doesn’t matter since you can add that as a custom command into fork.dev

@altkey just plain Git.

I prefer pen and paper.

When that’s unavailable, command line is fine.

pen and paper is decentralized storage too, but the push and fetch sync protocols are a lot of work

git gud :P

I use the CLI mostly.
It gives me confidence that I am not doing something unknowingly.

In some cases, I prefer GUI tools:

  • For blame, I prefer what Qt Creator provides
    • Although it could have been better
  • For graph, the default CLI one is not pretty enough and honestly doesn’t help as a graph. So I go with GUI stuff
    • there are quite a few alternatives available that make it much faster to grasp on sight
SCM breeze. Lots of qol features I can’t love without

I’ve been using TortoiseGit since the beginning, but it’s Windows-only.

In TortoiseGit, the Log view is my single entry point to all regular and semi-regular operations.

Occasionally, I use native git CLI to manage refs (archive old tags into a different ref path, mass-remote-delete, etc).

Originally, it was a switch from TortoiseSVN to TortoiseGit, and from then on, no other GUI or TUI met my needs and wants. I explored/tried out many alternative GUIs and TUIs over the years, but none felt as intuitive, gave as much overview, or capabilities. Whenever I’m in Visual Studio and use git blame, I’m reminded that it is lacking - in the blame view you can’t blame the previous versions to navigate backwards through history within a code view. I can do that in TortoiseGit.

I’ve also tried out Gitbutler and jj, which are interesting in that they’re different. Ultimately, they couldn’t convince me for regular use when git works well enough and additional tooling can introduce new complexities and issues when you don’t make a full switch. I remember Gitbutler added refs making git use impractical. jj had a barrier to entry, to understand and follow the concepts and process, which I think I simply did not pass yet to have a more accurate assessment.

I did explore TUIs also as no-install-required fallback alternatives, but in practice, I never needed them. When I do use the console, I’m familiar with native git to cover my needs. Remote shell: native git, locally: Nushell on top of native git for mass queries and operations.

GitHub - jj-vcs/jj: A Git-compatible VCS that is both simple and powerful

A Git-compatible VCS that is both simple and powerful - jj-vcs/jj

GitHub
I use git in the terminal. On Windows I used git for Windows. I even used that MSYS CLI it provided as my daily driver terminal.