3 ms·
There are amazing ui’s which provide really nice interfaces to git. I always cheerlead http://gitup.co http://gitup.co when I come across git complain threads
by breatheoften 9y ago
There are amazing ui’s which provide really nice interfaces to git. I always cheerlead http://gitup.co http://gitup.co when I come across git complain threads (I love gitup!). Try it and you’ll quickly realize that git is hard to use because it has a terrible command line interface and because the git commands manipulate state which is not at all easy to visualize from the command line.
Being able to Visualize the state of the repositories provides a huge win when learning the actual concepts behind dvcs (which are NOT complicated)
- Stratoscope 9y agoIndeed, I'm a big fan of SmartGit: https://www.syntevo.com/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.
- AlexCoventry 9y agoI use emacs's magit, which is a great labor-saver, but I don't think it protects you from the need to understand the basics of how git represents your history.