Collection: Git Resources for Beginners
Using Git can be a little intimidating, but it's a better approach for source control. Today, I provide a collection of links to get you started with Git to help you understand it better.
I get commissions for purchases made through links in this post.
Over the years, I'm sure everyone has worked with a number of version control systems.
SubVersion. Team Foundation Server (TFS). PCVS. Visual SourceSafe (Ok, I can hear the groans. Sorry about that last one).
However, the one source control system that developers find the most satisfying and easy to use is Git.
It's actually included in Visual Studio 2015 out of the box so you can have three choices: TFS, Azure, or GitHub.
So just how popular is GitHub?
Want to see a repository trending on GitHub? Visit GitHubStats.com to see what's hot.
If you're new to GitHub, how do you start working with it without accidentally deleting everyone's repositories...or the Internet (hey, it could happen).
So let's dig into this list of resources for beginners to learn more about the fundamentals and how to get started with Git and GitHub.
If you're brand new to Git, Scott Hanselman's hands-on approach takes you through the process of getting started with Git through command-line (CLI).
This video series is for the absolute beginner so if you have absolutely no experience with Git, I would recommend watching this video first.
When you start his video, you'll also notice he has similar Git topics which I would also recommend.
First, if you are initially getting started with GitHub and you can't seem to get access, you never know. It may not be you. Github may be down for maintenance. This will tell you whether it's up or not.
Richard Campbell and Carl Franklin walk through the fundamentals of GitHub with expert Bill Wagner. Definitely a great podcast for beginners to understand the difference between fork and a clone? (Just to give you a clue, it's not about eating robots).
What better place to go than to the source (excuse the pun). You don't even need to know how to code to use this tutorial. This allows you to create a repository, create a branch, create a pull request, and merge your changes.
GitHub's Good Resources for Learning Git and GitHub
As I mentioned, it's definitely the place to learn about GitHub. They even have video courses and YouTube videos on GitHub.
GitHub Flow is a branch-based workflow for teams and projects where deployments are made regularly. There's even a PDF of the process. This is a great visual representation of how source code flows through the GitHub process.
As mentioned above, GitFlow is a branching model and this introduction provides visuals to help you understand the version workflow.
Try Git is a 15 minute online tutorial that quizzes you on how to use git effectively. This is the equivalent of the CSS Diner (from my CSS Resources) for GitHub. Great online quizzing and very informative.
PluralSight (affiliate link)
My favorite place to learn about everything, including GitHub. Some of the courses I would recommend are:
- Git Fundamentals (affiliate link)
- Git for Visual Studio Developers (affiliate link)
- Advanced Git (affiliate link)
If anyone has additional courses, please let me know in the comments and I'll add it to the list.
Jessica Lord from the GitHub staff wrote an Electron (I mentioned Electron from Codemash this year) web application that runs on the desktop and teaches you how to use GitHub.
Robert Green over at Visual Studio Toolbox gives us a great introduction to Git. It's about 1 hour long and takes you from the command-line to Visual Studio to Azure.
This is a great introduction to show how Microsoft products integrated Git into your workflow.
Need help in understanding what the Github Flow is? Scott Chacon boils it down to these simple steps making it extremely easy to learn.
Want something a little more interactive? How about some real-world Git Exercises?
These Git exercises provide an easy way to learn the basic (and not so basic) ways on how to use GitHub.
Why not learn directly from the source? GitHub has a Learning Lab to teach you about your repositories, create a release-based workflow, and managing merge conflicts.
Great material for someone just digging into GitHub.
For those looking to learn the flow of how GitHub's Flow works, José Vidal has a very simple tutorial on how a Git Flow works. An excellent starting point for beginners.
Git/GitHub Beginner's Guide (Videos)
Harish Kumar has a couple of videos on DZone about learning Git and GitHub.
For those used to TFS, GitHub is a different way of working with branches and master.
This post is great for newbies learning the workflow of GitHub and how to deploy your software.
This crash course is very simple in it's approach and provides a great introduction for those interested in taking it step-by-step in learning Git.
It focuses on the basics including repositories, changes, commits, branches, and merging.
With Git now integrated in Visual Studio Code and Visual Studio 20xx, it made sense for Microsoft to create a course on how to use Git.
It's definitely another great resource for those new to Git and I would recommend this course.
This is a great visualization tool for seeing the effects of your git command line when it comes to branching your source.
As you enter your commands, the tool provides a visualization as to what's happening behind the scenes.
I hope this collection of GitHub tutorials, utilities, and courses provide enough information to get you started.
It will be growing as I receive more feedback from my audience.
If you have any comments, post them below and we'll see if we can get them answered.
- Collection: Real-world Refactoring
- Collection: How to be a Great Developer
- Collection: Architect References
- Collection: Inspiration/Motivation
- Collection: Blockchain
- Collection: SQL Server Sample Databases
- Collection: Beginner Tutorials for ASP.NET MVC
- Collection: Git Resources for Beginners
- Collection: Cloud Design Patterns and Practices
- Collection: CSS Resources
- Collection: Web API Best Practices
- Collection: Remote Work