WHAT is GitHub?
Git…what? What is a 'GitHub'? How do I use it? cue blank stare GitHub was a completely foreign concept to me when first introduced. I had never heard the word "repository" before let alone branches, forking, or committing in the programming sense. I was intimidated to say the least and this blank stare was the first of many (more on that to come!). I learned GitHub as I was just starting to learn to code and had only began the basics of HTML.
So, what is it? For those unfamiliar, GitHub is 'a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management functionality of Git, plus its own features (github.com)'.
Let's break this down some. GitHub is a "hub" for software engineers to host and store code (in repositories)! It lets you work on projects from anywhere and with anyone. GitHub helps developers manage version control and collaboration. Two very important components of building clean and consistent applications. This is especially important in team environments whether it be an open source project being worked on or in the professional manner.
Why did my mentor have me start on GitHub before even really learning how to code? He explained that it would be valuable to have public proof that I was coding for as long as possible. This stands out to potential employers while you're going through the job search process and shows that you're actively contributing to projects. He then guided me through the set up process of my first repository. I learned that a repository was a storage location for software packages. I wrapped my head around that simple definition to start, took a deep breath, and knew that I could build from there. It was slow going at first and, I'll admit, I was nervous. Once I received a little push from my mentor to dive into a project was when I really "got my hands dirty" and started to learn the ins and outs.
Over time I have become so comfortable with GitHub that I excitedly check my activity to see all of the commits I've pushed (nerd -- I know). There is something exciting about creating a new repository because, more often than not, it is the beginning of a new project! I learn more with each project I push to GitHub and the more opportunities I get to experiment with branches, push and pull requests, and contributing to open source projects which is just a fancy way of saying "adding code to other peoples code and see if they want to keep it". I have learned more about the GitHub community and have utilized the job listings section as of late!
How to start with GitHub
If you're just starting out with Git and GitHub (more to come on Git in the future!) and are not sure where to start I can personally vouch for Codecademy! They are incredibly user friendly, have an active community, and I found their curriculum to be straight forward, clear, and concise. The GitHub website has great information and resources to be able to use all that they have to offer. There are written and video tutorials to guide you through certain topics. Make use of documentation! Utilize the vast amount of information you have at your fingertips with YouTube as well! There are a wealth of great Developers and videos to be found about certain topics. Any time I was unsure of how a certain aspect worked or if someone had already created a component I was interested in I was, more often than not, able to find it on YouTube!
By pushing myself to make GitHub a part of my daily developer life I have learned that the more you use something, the more familiar it becomes. This is personally a constant theme I'm finding as a coder that I'm sure others resonate with!
What else would you like to know about GitHub? If you're a developer, what's your experience been like? Let me know in the comments below! If you have a project you would like to share, please link it as well!