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.
Disclosure:
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?
According to GitHut.info, it contains 2 million repositories (with JavaScript in the lead, I might add).
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.
Scott Hanselman's Computer Stuff They Don't Teach You - Git 101 Basics (Video)
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.
GitHub Status
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.
DotNet Rocks! Podcast - GitHub Fundamentals with Bill Wagner
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).
GitHub's Hello World Tutorial
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.
Understanding the GitHub Flow
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.
Understanding GitFlow with Feature Branches
As mentioned above, GitFlow is a branching model and this introduction provides visuals to help you understand the version workflow.
Git Tutorial - Try Git
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.
GitExplorer
Looking to do something simple in Git, but don't know how to do it?
Git Explorer provides a list of commands with examples on how to use each command you select in the dropdown.
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.
Git-It using Electron
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.
The code to download is located here (at GitHub, of course) and the release folder is here.
Visual Studio Toolbox: Git Fundamentals
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.
The GitHub Flow
Need help in understanding what the Github Flow is? Scott Chacon boils it down to these simple steps making it extremely easy to learn.
Learn and Practice Git
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.
GitHub Learning Lab
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.
GitHub Flow Tutorial: Basic Workflow for Git (Video)
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.
GitFlow Workflow, Automated Builds, and Integration and Deployment
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.
Git Crash Course, Part 1
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.
Introduction to Git (1 hr 15 min course)
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.
Learn Git Branching with Visualizations
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.
Definitely recommended.
20 Git Commands Every Developer Should Know
As a beginner, I agree this is a list of Git commands you should know. However, I noticed there isn't a rebase in there.
Conclusion
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.
Other Collections
- 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