We may earn an affiliate commission when you visit our partners.
Course image
Ben Tristem and GameDev.tv Team

Want to learn Git without falling asleep? You're in the right place.

Read more

Want to learn Git without falling asleep? You're in the right place.

Learning version control can be tricky and boring, we're here to make it easy and fun. Using game development as the example project, we'll be showing step-by-step how to get into git (get it?).

By the end of the course you'll have an indispensable tool, that will allow you to...

  • Protect your valuable work using git version control.

  • Explore creative options using Atlassian's SourceTree & the terminal / command line.

  • Backup efficiently to the Internet, specifically GitHub but GitLab and BitBucket are mentioned.

  • Learn all the common version control workflows that you'll need day-to-day.

  • Lay the foundations for collaboration with others.

You won't only be learning the science of version control, but the art too. For example you'll learn common usage patterns that keep your live simple, and even how to setup your online portfolio to show your work in the best light.

Your instructor, Ben Tristem, is the founder of GameDev tv, and has taught 100,000s of students to code and use creative software from scratch, so you're in good hands. No prior experience of version control, git, or coding required.

We'll be covering Windows, however MacOS and Linux users can also follow along with a little modification.

Get plugged into our communities of amazing developers on Facebook (nearly 20k), in our own TA-curated Community (17k views/day), and our student chat group (10k live at any one time).

Let's dive in and get this mini super-power learnt in no time.

Enroll now

What's inside

Learning objectives

  • Learn the key concepts of the git source control system
  • Install git on windows, macos and linux
  • Install the slick visual tool sourcetree on windows, macos and linux
  • Be aware of other visual tools including gitkracken and github desktop
  • Use .gitignore files intelligently to track only what matters
  • Create "feature branches" to allow you to explore new ideas safely
  • "push" your work to github or bitbucket for backup & sharing
  • Understand how to use the command line when necessary
  • Understand more about how the tool you use really works by watching file changes
  • Be prepared to collaborate on your project with others professionally

Syllabus

Install SourceTree (and hence git) on Mac and PC. Outline the git ecosystem including GitHub. Be ready to start using version control.

Ben Tristem, founder of GameDev.tv, explains why this is a good course to take. If it's been a while since you signed-up it's a good idea to start with this video.

Read more

In this video (objectives)…

  1. About the GameDev.tv Discord live chat server

  2. About the GameDev.tv community forum

  3. Where to find the resources on Udemy

After watching (learning outcomes)…

You'll be able to ask for help when you need it.

(Unique Video Reference: 1_IS_GIT)

In this video (objectives)…

  1. Git can help you revert your work

  2. Git can protect you against version upgrades

  3. Git can help you explore alternative approaches

  4. GitHub can help you share your work online

After watching (learning outcomes)…

Cite at least one benefit of using the git ecosystem.

(Unique Video Reference: 2_IS_GIT)

In this video (objectives)…

  1. How git is the version control software

  2. SourceTree, GitHub Desktop & GitKraken as GUI options

  3. BitBucket, GitHub and GitLab as online options

After watching (learning outcomes)…

Name at least one Graphical User Interface for Git, and one online git hosting service.

(Unique Video Reference: 3_IS_GIT)

A few simple questions to help you consolidate your knowledge. Feel free to look things up as you go, this isn't a memory test.

In this video (objectives)…

  1. Setup your GitHub account (or spruce if if you have one)

  2. Share the account with our community

After watching (learning outcomes)…

You'll have a basic GitHub account setup

(Unique Video Reference: 4_IS_GIT)

In this video (objectives)…

  1. Download Atlassian's SourceTree app

  2. Login to your Atlassian account to allow app access

  3. Optional: Log SourceTree out of your Atlassian account!

  4. Log SourceTree into your GitHub account

After watching (learning outcomes)…

Install SourceTree on PC and connect it to GitHub

(Unique Video Reference: 5_IS_GIT)

In this video (objectives)…

  1. Download SourceTree on Mac

  2. Login to your Atlassian account

  3. Connect SourceTree to GitHub

  4. Deal with some Mac specific issues

After watching (learning outcomes)…

Install SourceTree on MacOS

(Unique Video Reference: 6_IS_GIT)

In this video (objectives)…

  1. Thanks for sticking with me

  2. We’re all setup on Mac & PC

  3. Faith Linux people will keep up

  4. Will also need Unity setup. You’re project ok.

  5. Let’s start using it next!

After watching (learning outcomes)…

Feel ready to start using version control

(Unique Video Reference: 7_IS_GIT)

Learn the fastest and most reliable way to get your project under version control, and "pushed" to the GitHub website.

In this video (objectives)…

  1. An overview of PRIRP

  2. Project > Repo > Ignore > Remote > Push

  3. Do NOT try and follow along

After watching (learning outcomes)…

Have an outline understanding of the section's outcomes.


(Unique Video Reference: 1_UG_GIT)

In this video (objectives)…

  1. Create a minimal Unity sample project

  2. Learn about the 100MB single file limit with GitHub

  3. Know where to find your project on disc

After watching (learning outcomes)…

Know about git's 100 MB file limitation, and that otherwise you can get going right away.


(Unique Video Reference: 2_UG_GIT)

In this video (objectives)…

  1. Show hidden files in Explorer / Finder

  2. Create new local repository in SourceTree

  3. Notice the .git folder that’s created

  4. Demonstrate how SourceTree bookmarks work


After watching (learning outcomes)…

Create a new local repository in a project directory.


(Unique Video Reference: 3_UG_GIT)

In this video (objectives)…

  1. Ignore the Library folder

  2. Observe the .gitignore folder that’s created

  3. See GitHub’s list of .gitignore files

  4. Update with the latest Unity .gitignore


After watching (learning outcomes)…

Use a .gitignore file to prevent git from tracking certain patterns of files.


(Unique Video Reference: 4_UG_GIT)

In this video (objectives)…

  1. Stage your file changes consciously

  2. Write a meaningful commit message

  3. Take a quick look at the history

  4. Make another project change

  5. Stage and commit these new changes

  6. Congratulations on starting to build a history


After watching (learning outcomes)…

Stage the files you want to track, and commit to git.


(Unique Video Reference: 5_UG_GIT)

In this video (objectives)…

  1. Setup a new repository on GitHub.

  2. About naming repos, and bookmarks.

  3. Do NOT add a readme, .gitignore or license at this stage (keep it bare)

  4. Add the remote to SourceTree.

After watching (learning outcomes)…

Create a bare remote repository on GitHub and connect it to git via SourceTree.


(Unique Video Reference: 6_UG_GIT)

In this video (objectives)…

  1. Recap the whole process so far.

  2. Push our "master branch" to GitHub.

  3. See what's changed in SourceTree.

  4. See what's changed at GitHub.

After watching (learning outcomes)…

Push your project to GitHub.


(Unique Video Reference: 7_UG_GIT)

Learn all the most common use cases for version control in game, and other software development

In this video (objectives)…

  1. About our Unity Course Community Facebook group.

  2. How to use Stash with git.

After watching (learning outcomes)…

Stash your work when you want to go back to a previous commit.


(Unique Video Reference: 1_CC_GIT)

In this video (objectives)…

  1. Commit a few example changes.

  2. See how this impacts SourceTree.

  3. Understand the difference between local and remote.

After watching (learning outcomes)…

Fell confident in "committing" changes to version control.


(Unique Video Reference: 2_CC_GIT Commit)

In this video (objectives)…

  1. Experiment with creating "hanging" branches.

  2. Do your first formal challenge.

  3. Understand what a branch is.

After watching (learning outcomes)…

Create a new branch, and switch between branches.


(Unique Video Reference: 3_CC_GIT)

In this video (objectives)…

  1. Demonstrate a simple merge.

  2. Experience your first merge conflict.

  3. Practice merging branches.

After watching (learning outcomes)…

Perform a conflict-free merge.


(Unique Video Reference: 4_CC_GIT)

In this video (objectives)…

  1. Decide to use a hanging branch's assets.

  2. Retrospectively fix the root cause.

  3. Perform a merge.

  4. Resolve using "mine"

After watching (learning outcomes)…

Resolve simple merge conflicts using "mine" or "theirs".


(Unique Video Reference: 5_CC_GIT)

In this video (objectives)…

  1. See how "reverse commit" works.

  2. Reverse a change from a previous commit.

  3. Practice doing this yourself.

  4. Also see about "Reset current branch to this commit".

After watching (learning outcomes)…

You'll be able to reverse the changes made in previous commits.


(Unique Video Reference: 6_CC_GIT)

Ben Tristem recaps what he taught you about Git, GitHub and SourceTree in this section.

(Unique Video Reference: 7_CC_GIT)

Learn the more advanced tricks you'll need when working on actual project, such as "force push", cloning, refactoring, cherry-picking, Git LFS for large files, etc.

In this video (objectives)…

  1. What's coming up in this section.

After watching (learning outcomes)…

Know what to expect from this section.


(Unique Video Reference: 1_RW_GIT)

In this video (objectives)…

  1. How GitHub contributors, repositories, branches and profiles relate.

  2. About the ownership of repositories.

  3. What to consider when customising your GitHub profile.

  4. Improve your profile and share with the community.

After watching (learning outcomes)…

Improve the structure of your GitHub profile.


(Unique Video Reference: 2_RW_GIT)

In this video (objectives)…

  1. Visit the Complete Unity Developer 2.0 organisation.

  2. Clone any game you fancy.

  3. Upgrade it to the latest Unity.

  4. Check the game runs.

  5. Commit.

After watching (learning outcomes)…

Be able to clone a public repository on GitHub to your local machine.


(Unique Video Reference: 3_RW_GIT)

In this video (objectives)…

  1. Make a code change in a project.

  2. Observe how the "hunks" and line insertion / deletions work in SourceTree.

  3. See how the changes are shown on the terminal.

  4. Stage from the terminal with git add .

  5. Commit using git commit -m "My commit message"


After watching (learning outcomes)…

Be able to commit from the command line (AKA terminal).


(Unique Video Reference: 4_RW_GIT)

In this video (objectives)…

  1. How to quickly get to your online repository from SourceTree.

  2. Use "reset hard" to destroy information locally.

  3. Try and force push with SourceTree or git push -f

  4. Learn about GitHub's branch protection system.

  5. Do your on first force push - consciously.

After watching (learning outcomes)…

Perform a force push, and understand you usually "shouldn't" do it.

(Unique Video Reference: 5_RW_GIT)

In this video (objectives)…

  1. Clone Realm Rush. Checkout pt-ring-buffer.

  2. Define refactor and look in GUI.

  3. Run git diff and explain in less and use q.

  4. Add the SHA to the diff.

  5. Add --stat to the command.

  6. Filter by *.cs.

  7. Final command git diff e1eb974e334e7d0ea0b7d3ef3ec37448633b3c95 --stat *.cs


After watching (learning outcomes)…

Use the terminal to examine the net effect of a refactor sequence.


(Unique Video Reference: 6_RW_GIT)

In this video (objectives)…

  1. Cherry pick “Target closest enemy”.

  2. Show how to “refresh” your repo view.

  3. Explain why we have a merge conflict.

  4. Show that Stash doesn’t work right now.

  5. Show you can Stash to abandon cherry pick.


After watching (learning outcomes)…

Use "cherry pick" to pick file(s) from somewhere else in the history.


(Unique Video Reference: 7_RW_GIT)

In this video (objectives)…

  1. Initialise Git LFS & track large files

  2. git lfs migrate import

  3. Note how history changes

  4. Push to GitHub


After watching (learning outcomes)…

Use Git LFS to track files over 100MB and send them to GitHub, even if they are already in your history.


(Unique Video Reference: 8_RW_GIT)

In this video (objectives)…

  1. A systematic tour of the GitHub website.


After watching (learning outcomes)…

Understand what GitHub has to offer better.


(Unique Video Reference: 9_RW_GIT)

In this video (objectives)…

  1. See the "Raw" view on GitHub.

  2. See the "Blame" view on GitHub.

  3. See the "History" view on GitHub.


After watching (learning outcomes)…

Use "Blame" on GitHub to determine in which commit every line of code in a file was added.


(Unique Video Reference: 9b_RW_GIT)

In this video (objectives)…

  1. Thanks for completing the section

  2. We’ve learnt a lot more about GitHub

  3. And by proxy GitLab and BitBucket

  4. We’ve unlocked the power of the Terminal

  5. Learned some important day-to-day tools

  6. Git LFS is pretty cool, see next section for Unity

  7. Thanks for being our student

  8. See you in the next section, or another course.


After watching (learning outcomes)…

Recall what was done this section.


(Unique Video Reference: 10_RW_GIT)

Apply your knowledge specific to the Unity game engine, learning how to use Unity's plugin, YAML Merge, how to use prefabs to avoid conflicts, etc.

In this video (objectives)…

  1. Unity Engine focus in this section.

  2. Using Unity 2019 but should apply in future.

  3. Use Unity’s GitHub integration for VCS in engine.

  4. See how to merge scenes together.

  5. Understand prefabs better.

  6. Learn more about team workflow.


After watching (learning outcomes)…

Understand what's coming this section.


(Unique Video Reference: 1_UG_GIT)

In this video (objectives)…

  1. Visit Project Settings > Editor.

  2. Set Version Control > Mode to "Visible Meta Files".

  3. Set Asset Serialization > Mode to "Force Text".

  4. Look at impact of making changes in the scene.

  5. See how prefabs can prevent changes to a scene file.


After watching (learning outcomes)…

Use version control as an "x-ray" machine, to determine how Unity really works in terms of file changes.


(Unique Video Reference: 2_UU_GIT)

In this video (objectives)…

  1. Install GitHub for Unity from the asset store.

  2. See what changes the plugin makes.

  3. Commit the changes to the Plugin directory.

  4. Explore the features of the plugin.

  5. File locking to be covered in a future video.


After watching (learning outcomes)…

Install, commit and push using the GitHub for Unity plugin.


(Unique Video Reference: 3_UU_GIT)

In this video (objectives)…

  1. Overview the lock > commit > unlock process.

  2. Remember not to commit changes to locked files.

  3. Walk through examples of how to lock, release and commit.


After watching (learning outcomes)…

Use locks within the GitHub for Unity plugin to aid in collaboration.


(Unique Video Reference: 4_UU_GIT)

BONUS & Course Wrap-up

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
An ideal course for beginners who wish to build a foundation in git version control
Meant for learners who want to master git so they may use it daily without trouble
Instructors have a history of teaching over 100,000 students creative software and code
Will teach the basics of git but also strategies and usage patterns to be more efficient
Requires learners to install additional software and GUI tools
Covers the basics of git but does not teach advanced and modern best practices used in industry

Save this course

Save Get Git Smart Course: Learn Git in Unity, SourceTree, GitHub to your list so you can find it easily later:
Save

Reviews summary

Git made simple

Learners say this course is fantastic, especially for those who have struggled with Git in the past. According to students, two topics that are discussed in detail are git lfs and branching. The course also includes a GitHub integration for Unity and covers migrating files to LFS.
Provides useful tips, like migrating files to LFS.
"I also learned new things that I didn’t know I needed, like the github integration for Unity and migrating files to LFS."
Thorough explanations of git lfs and branching.
"This course answered every question I ever had that prevented me on exploring git without fear. For instance, I had concerns about git lfs and branching, two topics that were discussed in detail."
Great for beginners who want to learn Git.
"I have struggled with git for years and have avoided it on multiple occasions like game jams and while collaborating with friends. This course answered every question I ever had that prevented me on exploring git without fear."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Get Git Smart Course: Learn Git in Unity, SourceTree, GitHub with these activities:
Organize and review course materials
Helps students stay organized and engaged with the course materials.
Browse courses on Git
Show steps
  • Create a system for organizing notes, assignments, and other course materials.
  • Review and summarize the materials regularly.
Read 'Version Control with Git, 2nd Edition'
Provides a solid foundation in the concepts and tools of version control using Git.
Show steps
  • Read Chapters 1-3 to understand the basics of Git.
  • Complete the exercises in Chapters 4-6 to practice using Git commands.
Follow Git tutorials on GitHub
Provides structured guidance for learning Git concepts and best practices.
Browse courses on Git
Show steps
  • Browse the Git tutorials available on GitHub.
  • Choose a tutorial that aligns with your learning goals.
  • Follow the steps outlined in the tutorial.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Complete Git practice exercises
Reinforces understanding of Git commands and workflows through repetitive practice.
Browse courses on Git
Show steps
  • Go through the Git practice exercises provided by the course instructor.
  • Find additional Git practice exercises online or in books.
Create a Git cheat sheet
Solidifies understanding of Git commands and their usage by creating a reference guide.
Browse courses on Git
Show steps
  • List down the essential Git commands and their descriptions.
  • Organize the commands into categories or by workflow.
  • Create a visually appealing and easy-to-use cheat sheet.
Organize a Git study group
Facilitate peer learning, knowledge sharing, and problem-solving related to Git.
Browse courses on Git
Show steps
  • Find other students who are interested in learning or practicing Git.
  • Set up regular study sessions.
  • Take turns presenting Git concepts, sharing tips, and working on exercises together.
Contribute to an open-source Git project
Provides practical experience in using Git in a collaborative environment and exposes students to real-world Git workflows.
Browse courses on Git
Show steps
  • Find an open-source Git project that aligns with your interests.
  • Identify an issue or feature to work on.
  • Create a branch for your changes.
  • Make and test your changes.
  • Submit a pull request with your changes.
Contribute to the Git repository of the course
Provides an opportunity to directly contribute to the course materials and engage in open-source collaboration.
Browse courses on Git
Show steps
  • Review the Git repository for the course.
  • Identify areas where you can contribute, such as improving documentation or adding examples.
  • Create a branch for your changes.
  • Make and test your changes.
  • Submit a pull request with your changes.

Career center

Learners who complete Get Git Smart Course: Learn Git in Unity, SourceTree, GitHub will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers write and maintain the code that powers everything from websites and mobile apps to video games and operating systems. This course can help you develop the foundational skills you need to succeed as a Software Developer, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on software projects.
Game Developer
Game Developers design, develop, and maintain video games. This course can help you develop the skills you need to succeed as a Game Developer, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on game projects.
Web Developer
Web Developers design, develop, and maintain websites. This course can help you develop the skills you need to succeed as a Web Developer, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on web projects.
Network Administrator
Network Administrators maintain and troubleshoot computer networks. This course can help you develop the skills you need to succeed as a Network Administrator, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on network administration projects.
Product Manager
Product Managers are responsible for the development and success of products. This course can help you develop the skills you need to succeed as a Product Manager, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on product development projects.
Cloud Architect
Cloud Architects design and manage cloud computing systems. This course can help you develop the skills you need to succeed as a Cloud Architect, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on cloud computing projects.
DevOps Engineer
DevOps Engineers bridge the gap between development and operations teams. This course can help you develop the skills you need to succeed as a DevOps Engineer, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on DevOps projects.
IT Manager
IT Managers oversee the IT operations of an organization. This course can help you develop the skills you need to succeed as an IT Manager, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on IT projects.
Technical Writer
Technical Writers create and maintain documentation for software and other technical products. This course can help you develop the skills you need to succeed as a Technical Writer, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on documentation projects.
Systems Administrator
Systems Administrators maintain and troubleshoot computer systems and networks. This course can help you develop the skills you need to succeed as a Systems Administrator, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on systems administration projects.
Software Architect
Software Architects design and develop software systems. This course can help you develop the skills you need to succeed as a Software Architect, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on software architecture projects.
Project Manager
Project Managers plan, organize, and execute projects. This course can help you develop the skills you need to succeed as a Project Manager, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on projects.
Quality Assurance Analyst
Quality Assurance Analysts test and evaluate software and other products to ensure they meet quality standards. This course can help you develop the skills you need to succeed as a Quality Assurance Analyst, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on quality assurance projects.
Data Scientist
Data Scientists use data to solve problems and make informed decisions. This course can help you develop the skills you need to succeed as a Data Scientist, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on data science projects.
Database Administrator
Database Administrators maintain and troubleshoot databases. This course can help you develop the skills you need to succeed as a Database Administrator, including version control, Git, and GitHub. You'll also learn how to use Unity, a popular game engine, and how to collaborate with others on database administration projects.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Get Git Smart Course: Learn Git in Unity, SourceTree, GitHub.
Provides a comprehensive overview of Git, covering both the basics and advanced topics. It is written in a clear and concise style, and valuable resource for anyone who wants to learn more about version control.
Concise guide to Git, covering the most important concepts and commands. It great resource for anyone who wants to learn the basics of Git quickly and easily.
Detailed guide to Mercurial, a distributed version control system. It covers a wide range of topics, from the basics to advanced techniques. It valuable resource for anyone who wants to learn more about Mercurial.
Detailed guide to VSS, a version control system from Microsoft. It covers a wide range of topics, from the basics to advanced techniques. It valuable resource for anyone who wants to learn more about VSS.
Detailed guide to Bazaar, a distributed version control system. It covers a wide range of topics, from the basics to advanced techniques. It valuable resource for anyone who wants to learn more about Bazaar.
Detailed guide to Subversion, a centralized version control system. It covers a wide range of topics, from the basics to advanced techniques. It valuable resource for anyone who wants to learn more about Subversion.
Guide to using GitHub for project managers. It covers topics such as setting up a project, managing issues, and tracking progress.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser