Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Indeed, I'm a big fan of SmartGit: https://www.syntevo.com/smartgit/

SmartGit isn't an oversimplified GUI designed mainly for beginners, it is very powerful. It gives you a direct view of the state of your repo along with high level tools to manipulate it.

Taking a couple of examples from this thread:

> Stackoverflow top item on how to redo a commit (one of most common things a new user may need to do):

  $ git commit -m "Something terribly misguided"
  $ git reset HEAD~
  << edit files as necessary >>
  $ git add ...
  $ git commit -c ORIG_HEAD
In SmartGit you just edit your files and commit again, and in the commit dialog check the "Amend previous commit" box.

Or the reflog. Ah, the reflog. You get this list of hashes and commit pointers and commit comments. Now what? Which was really the commit you were looking for? If you're like me you may have several commits with the same comment as a result of rebasing and amending and generally fooling around. How do you see the actual diff for one of those commits?

In SmartGit, you open the log window and click the "Recyclable Commits" box at the bottom of the Branches panel. Now everything from the reflog is displayed as part of your commit log, just like any other commit or branch. You can click on any of those commits to see the list of changed files, and click on any of those files to see the diff.

This is orders of magnitude more usable than the command line reflog. And yet, I often find a tool like SmartGit a tough "sell" when I'm talking with other developers. One very talented developer told me, "I would never use a GUI, I'm much more productive in the commaand line."

But the same developer also told me they never use rebase or amend a commit for the reason that you could lose your prior commits. They'd heard of the reflog but never used it. And really, who would want to if you could avoid it? It's a real second-class feature and very awkward to use.

In SmartGit, you just click that box and the entire reflog becomes part of your normal log with all of the tools available.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: