Guide: What you need to know about Git, Github, and coding in teams

Everything you need to know about Git, Github, and the technical side of coding with others

What Git and GitHub Are and Why You Need Them

If you want to be a developer or know how developers work, you need to know it. Anyone interested in coding should at least know what GitHub is and why you need it (two articles).

Learn Command Line, Git, and GitHub

Git is hard…

XKCD says Git is hard which is true

…but you still need it. All too often I see beginner developers or even job applicants without knowing any command line, git, or github. I even know web dev path students who’ve skipped it because it’s hard. Don’t.

I recommend taking these free courses and resources in this order:

  1. Learn the command line (course)
  2. Set up command line part 1 and 2 (articles)
  3. Learn Git (course)
  4. Learn Git Branching (tutorial)
  5. Get started with Git and GitHub (video, goes with this article)
  6. Read the handbook
  7. Learn basic markdown with this quick guide (this forum also uses markdown!)
  8. Visualize the flow.
  9. Say hello world! (tutorial)
  10. Practice with GitIt (tutorial)
  11. Set up GitHub Desktop (this is optional but recommended)
  12. Know what a pull request is (video)
  13. Learn about forks (article)
  14. Know how to make a pull request (article)
  15. Know how to review pull request changes (article)
  16. Learn branching and making edits (wiki)
  17. Know how to log issues (quick article; optional but recommended: master them with another article).
  18. Know how GitHub Pages work and use it yourself (article, then video – these are optional but recommended if you’re doing any web dev work)
  19. Know how to make a contribution on GitHub with this walkthrough (optional: learn doing so on desktop with another walkthrough).
  20. Always keep documentation (article)

Keep using Git and GitHub constantly as you learn. Make mini projects and keep using GitHub for version control and hosting. Practice practice practice!

Working together with other people on coding projects leads to code bases, legacy code, and that can lead to problems. Watch these three videos in this order to learn about them and how to deal with them: (code bases, legacy code, working on or with code written by others).

Supplemental Resources

These resources are helpful for best practices and advice:

Even with the above, many students want or need more practice or to take a different angle on learning. Try these:

You Can Skip Steps… But Not For Long

Warning

Maybe you’re looking at those lists above and you’re saying “nooope.” You aren’t alone (discussion thread). In fairness you can use GitHub to some extent without going the “right way” in learning command line or Git, and that may okay for you if you don’t want to be a developer and you just want to use basic GitHub features. There aren’t many good guides to do this, in part because the GitHub UI is quite good and in part because this is an unsual route, so watch the first two videos here then this article, then say hello world, consider doing the learning lab tutorial, and then just use the GitHub UI to do what you need to do, it’s fairly straightforward.

About this Guide

I’m a developer and I’ve been tutoring new coders for years, I made this guide with some others like me because the biggest thing that trips up new developers like us is that most places don’t teach you how coding works in teams. Wanna know more about these guides (there are others), us, and why we made them? See here. Interested in the wider context of who does what on a developer team and how they work together? Check this out.

Not The End

Please reply to this thread with your own resources, advice, and feedback! We made this post a wiki so it can be updated and maintained by the community, we’re just starting them off. See our other guides here.

3 Likes

Something that helped me learn about pull requests was seeing a video tutorial on how to make one. Something like this: https://www.youtube.com/watch?v=rgbCcBNZcdQ&t=134s

Git is probably the biggest technical hurdle when working with teams. But once you get a good handle on it, it becomes a lot easier to collaborate on code.

1 Like