Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Development Tools Introduction to Git First Commits First Commits

Why do I need GIT, GIT HUB, GIT Desktop and GIT BASH? Which is what, please?

On top of the question above, I have followed this video at least twice and the workspace console rarely returns the same output as the one in the teacher's video. Very often, the teacher seems to jump from a console full of text to a blank one, and that's where all goes wrong. Any clarifications will be greatly appreciated. Sonia

Adam Duffield
Adam Duffield
30,493 Points

GIT is a Version Control System that tracks changes in files so you can manage the "state" of your code. e.g. your code as it is right now? As it is on a live site? Or as it was last week. You can flick from 1 to other using GIT.

GITHUB is a hub for your GIT repositories, GIT will manage state locally on your PC but it can also be managed in many places. e.g. Locally & your pc & in GITHUB which is essentially somewhere in the cloud. Which means if your house goes up in flames & you lose your PC. You still have your latest code in GITHUB & you can download it onto your next PC with ease.

GIT BASH I believe is an application used on Windows as a way of giving a git friendly command line experience. Here you can type commands like "git add file.txt" or "git push" to manage the state of your local repository & push changes to GITHUB as & when required.

GIT DESKTOP I believe is another application for windows but is a prettier looking version of GIT BASH. They achieve the same goal but one is based on typing commands in the terminal & the other is more UI friendly, you just click what you want to happen.

GIT DESKTOP or other applications such as SourceTree or GitKraken are all friendly UI's ontop of GIT in the command line & are perfectly cool to use, especially as a beginner. However I would highly suggest at somepoint you learn GIT in the command line as if often covers more features of git & in some cases such as a remote server you will not have the option of using your favorite GIT UI.

I'm not sure if this answers the description of your question as I don't have a subscription & cannot watch the video, but I hope however this answers the title of the question. Best of luck. Adam