Git by Example

Learn Git for teamwork and error-control, in the terminal and visual interface
4.3 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
680 students enrolled
75% off
Take This Course
  • Lectures 39
  • Length 3 hours
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2014 English

Course Description

Git is an essential skill for all team members of a technology company. In order to survive, technology companies are increasingly depending on continuous delivery to give customers a better experience. Git or other methods of Version Control are necessary in order to do this.

Git is necessary for teamwork, organisation, and management of projects. It is much easier to work when all team members can immediately see code changes and can follow what others have done.

It’s difficult to go wrong with Git. You can always roll back if someone deletes code, changes the structure of your project, or sends out incomplete code. Everyone makes mistakes, but when using Git properly, no mistake is fatal.

Today we will make sure you get familiar, understand, and then master the extremely popular Version Control system called Git. This was originally used in the Linux project, so it is lightweight, but able to cope with the largest of projects.

Throughout the course we will learn:

  1. What is Version Control, a gentle introduction for those not familiar with it.
  2. Markdown: what it is and how to use it.
  3. The basic structure of a repository. Vital to understand how everything works on a low level.
  4. Using the terminal/console properly.
  5. Using VIM, a great text editor within the console. We will use this to write commit messages when not using a GUI.
  6. Configuring Git. We will get it to work on any system.
  7. Basic Git commands that you will use in every project you are part of: git add, git commit, git push, git pull, git fetch.
  8. Writing meaningful commit messages. This is vital, so that everyone looking at the project can see what’s going on.
  9. Branches. What are branches?
  10. Organising branches via the Gitflow workflow. Ensuring your project has a great and easy to work with structure.
  11. Merging two branches together.
  12. Dealing with merge conflicts. We won’t have many of these!
  13. Using SourceTree for Git outside an IDE.

Now you can acquire a vital and in-demand skill to boost your CV and development abilities, help your team deliver working software, and make companies love you.

Join us now, and tomorrow you could be an expert. I’ll see you inside!

What are the requirements?

  • A computer running Windows, Mac OS, or basically any LINUX distribution
  • Git (which can be downloaded from

What am I going to get from this course?

  • To acquire an extremely important skill in software development: version control
  • To fully understand how Git works, instead of just having a high-level knowledge of it

Who is the target audience?

  • Software developers of any level
  • Project managers wanting to understand how the software development workflow goes
  • Anyone wanting to read and understand software development projects

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: What is version control?
What is Version Control?
We will be learning Git
Markdown and the file
What is the .gitignore file?
The structure of a repository
Section 2: Basics of the terminal
What is the terminal?
Moving around the file system using the terminal
Moving and copying files with the terminal
Displaying and replacing file contents
Basics of VIM - a very powerful text editor!
Inserting text in VIM
Section 3: Basics of Git
Configuring Git
Initialising a Git repository: git init
Initialising a Git repository (terminal video)
Adding files to the staging area: git add
Adding files to the staging area (terminal video)
Committing files to the local repository: git commit
Committing files to the local repository (terminal video)
Writing appropriate commit messages: this is VITAL if working in teams!

In this video we look at adding a remote to our repository. It is a very simple process, but it needs to be done or else you won't be able to push and pull!

For Github help:

Pushing and pulling to and from the remote repository
Pushing and pulling (terminal video)
Section 4: Branches and workflows
What is a branch?
Creating branches in Git
Creating branches (terminal video)
Pushing branches to origin
Bringing in branches from origin
Deleting local and remote branches
Merging branches: presentation
Merging branches (terminal video)

In this video we take a look at how to revert changes made in a branch, by either deleting commits or creating new commits that 'undo' what the previous commits did.

Reverting changes (terminal video)
What is the "Gitflow" workflow?
Section 5: Gitflow and SourceTree
Using SourceTree to initialise a git-flow repository
Creating our first Gitflow feature
Finishing (and publishing) our first feature
Stashing changes with SourceTree
Adding remotes in SourceTree
Cloning a remote repository in SourceTree

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jose Salvatierra, Founder of School of Code and Computer Science instructor

I've been teaching computer science and playing and teaching music (grades 1 to 8) for over four years, to students of all ages and all skill levels. Here's my story so far.

I started programming at the age of 10, just a couple years after I started studying music, when my dad, excited that I had showed interest in similar things to himself, taught me the basics of Marin Saric's METAL. Shortly thereafter we moved on to RealBASIC, and from there I started learning, after a couple years, Java and C.

Ever since I started learning programming I knew I wanted to study Computer Science or something along those lines. Last year I ended up at the University of Dundee, studying Applied Computing.

The University of Dundee is one of the most prestigious for computing-related courses, and I was offered the chance to participate in their computing scholarships due to academic achievement.

I have worked for "Eseye", an M2M company, as an intern doing mainly backend developing, writing PHP scripts and programming Zenoss ZenPacks, and currently work for Skyscanner, one of Scotland's largest technology companies, programming mainly in Python and web languages.

At the moment I enjoy programming in Python, Java and C, playing and recording music, usually as an accompanying pianist for singers, and sports and bodybuilding. I hope that my courses are interesting to you, enjoyable and that you learn from them!

Ready to start learning?
Take This Course