Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools

Wei-Ting Chen
Wei-Ting Chen
7,632 Points

Why not just use Git GUI than using Git Bash?

Hi , in the "Git Basics" classes, Treehouse team teaches how to use Git Bash,but there are lots of Git GUI tools on the internet. So my question is: why not just use Git GUI tools than using Git Bash?

Thanks !

3 Answers

I think both, because each has an advantage the other doesn't offer.

I've used a Git GUI (Tower) for awhile, but as I've gotten more efficient (and busier) I found bash to be faster and easier. Some dev environments (Sublime, Coda, TextMate) give you direct access to command line and some have git integration available. So git functions become a few additional keystrokes. Easy.

BUT GUI still dominates reviewing branches and commits without having to log in to your host. For that I still use Tower. There's a distinct advantage in being able to zip down a color coded map of branches, users, comments and commit IDs rather than looking at a bash list of commits and branches (separate command). Granted I don't need to do this often, but when I do, being able to go back and review the notes of the dev who implemented the chunk of code I need to work on is fast and easy in GUI. That same action would be a pain in the ascii using bash, especially in the case of large, multi-dev projects.

Once you know git and bash better, it will go much easier and faster than using a GUI. It takes some time to learn the commands, but I think it will be worth it in the long run

Another big reason is if you need to ssh into a server and make changes to the git repo, you won't have access to a GUI display of that server. So ALL you have to work with is the commandline interface at that point.