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

General Discussion

Bob Sutherton
Bob Sutherton
20,160 Points

I don't "GIT" it?

Forgive the stupid pun, but for the life of me I don't understand what GITHUB is, what it's for, or why I should have one. Although I do see that it seems to be very important to web developers. So, what is it, in lay man's terms?

6 Answers

Chase Lee
Chase Lee
29,275 Points

Have you heard of "Dropbox?"

If so, it's sort of like that except that you push up code instead of pictures. Also read below, for a more detailed explanation.

If not, it's an online storage place where you can place multiple pages of code so that other people can use it and you can work on it even if you don't have your own computer. Also, you and other people can use it to work on one project at the same time without having to go through the code and pick out each others changes to make it one template.

Is that the answer you were looking for? Let me know.

-Chase

It's a way to keep all of your files for a project together in one place and it tracks all the changes you make. This is great because if you make a change and then later the client doesn't want the change, you can delete it. But then if the client comes back and wants the change you made, you can go "back in time" and reimplement your change without having to start from scratch again.

It's also a helpful way to keep things organized. Say you're building a multi page sight and you want to keep track of what you're doing and when. So you might build an about page and do all the styling for that page. You could then commit or save your finished about page and make your commit message be something like "styled and built about page" then rinse and repeat for contact, shop, etc. Then say your client wants you to completely revamp your about page, instead of trying to dig through your css and find where all your about page stuff is, you just open that commit and see the code you did.

Plus it makes collaborating with someone else on a project SOOO much easier because you don't mess up each others changes and it keeps everyone's work documented and separate until you're ready to merge it all into one completed thing, which is pretty painless with Git.

I hope this is helpful. Let me know if you have any specific questions. It's kinda hard to explain without knowing the types of projects you'd be using it for.

Bob Sutherton
Bob Sutherton
20,160 Points

Thanks for the responses.

I haven't heard of dropbox.

I kind of understand, but not totally. I guess it's something you just have to use to understand. It sounds like people build their websites on there instead of saving the files on their computer. Or they upload the files, or something. Then clients come and look at the files or something. There also seems to be some sort of social aspect to it as well.

I think i'm just too much of a noob to follow all of this.

Chase Lee
Chase Lee
29,275 Points

I think it will just come with experience. I had the same problem when starting out. But now I'm fine. Just keep up the good work!

James Barnett
James Barnett
39,199 Points
  • Git basically solves a problem of making it easy to roll back to an earlier version of code.
  • Git makes it easier to undo a change that breaks your website
  • Git also makes it easier to deal with conflicts of people making changes to the same file.
  • Github makes it easy for people to collaborate on open source projects

People in the web community are very trend-focused and one of the latest is to "use your github profile as a resume" as some people are easily impressed by what appears to be a lot of code. It's really possible to say if a morass of uploaded code is well written or even how large a project is much less if it actually runs.

So no you don't need to use Github.

further reading http://www.webdesignerdepot.com/2009/03/intro-to-git-for-web-designers/

Michelle Cannito
Michelle Cannito
8,992 Points

The instructor said that GitHub is like Social Media for repositories. I like that analogy.

James Barnett
James Barnett
39,199 Points

Github serves 2 purposes one the function it was built for, the other the one cultural. Fuctionally github works kinda like a wiki with people collaborating on projects.

Culturally github is kinda like social media in that people can like items and items are judged based on a superficial appraisal of the project, people are judged by how many items they share, how frequently they share and how many items people like their items.

There's a bit of a disconnect between these 2 purposes. When people mention it's "important" to have a github account they are talking about the cultural value that recuriters as gate keepers place on them not actual functionality of version control or collaboration. That's my 2 cents, YMMV.

Michelle Cannito
Michelle Cannito
8,992 Points

Well stated James! That adds clarity to the instructor's analogy. Thanks.