inthehands,
@inthehands@hachyderm.io avatar

Any recommendations for a git tool that:

  • runs on macOS, and
  • does a really nice job of the •commit• workflow: showing the diff, selecting changes to commit, maybe selecting individual lines.

I don’t care about anything fancier that commits — not even branches! I have tools I like for all that stuff.

I’m just looking for a nice UI for viewing and selecting uncommitted changes, something better than the clunky “stage / unstage” buttons that are the norm.

dr_renormalizer,

@inthehands I'm not a software dev, or even a heavy-user of git (by which I mean doing things like rebasing and dealing with merge conflicts), but I've been using Magit on #Emacs: https://emacsair.me/2017/09/01/magit-walk-through/

It's made using git very simple for me. I generally just update notes and dotfiles, and my workflow is something like:

  • Do "M-x magit" (which I've bound to my "F6" key)
  • Enter the path to the repository I'm interested in, and get a magit buffer
  • Scroll to the files listed under the "Unstaged changes" headline
  • Hit "S" on the ones I want to stage for a commit (or I can even just select individual changes within a single file that I want to stage)
  • Scroll to "Stage changes", remove unwanted changes in the commit if necessary (by hitting "S") and then committing the changes by doing "C-c C-c"
  • Typing out a commit message and doing "C-c C-c" again
  • Hitting "P" to push my changes to my chosen remote.

You can also do things like "magit-log" within a file etc.

#magit

daniel,
@daniel@social.telemetrydeck.com avatar

@inthehands im a big fan of Tower. It’s mac-native, it’s really well crafted, and it’s fast and clean. It’s a paid app, but there’s a free trial and I believe it’s worth every cent https://www.git-tower.com/mac

natknight,
@natknight@hachyderm.io avatar

@inthehands I've had good experience with Magit in Emacs (though it's sometimes VERY slow) and Sourcetree.

https://magit.vc/
https://www.sourcetreeapp.com/

finestructure,
@finestructure@mastodon.social avatar

@inthehands Try @fork_dev. You can select line ranges and stage/unstage them by hitting return. Not sure if that meets your requirements, because return is technically a button 😅

Fork is the best git client I’ve ever used, by far.

ParadeGrotesque,
@ParadeGrotesque@mastodon.sdf.org avatar

@inthehands

If you live on the command line, I also recommend tig, that you can install with your favourite packaging system for MacOS.

pkgsrc has it, and MacBrew as well:

https://pkgsrc.se/devel/tig
https://formulae.brew.sh/formula/tig

ParadeGrotesque,
@ParadeGrotesque@mastodon.sdf.org avatar

@inthehands

I have used SourceTree with some success in the past - I do not know if it fits your needs though...

https://www.sourcetreeapp.com/

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • megavids
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • provamag3
  • JUstTest
  • All magazines