Basic Git Tutorial Crash Course

Git is a code repository. It allows you to save versions of code and collaborate remotely using github.com. Here are the basics of how to use git:

Basic Requirements

You will need the following:

  • a Git Hub Account
  • a Code Repository
  • a git client to talk to the repository

Create a Github Account

This is pretty self explanatory – just go to github.com and create a new account. It’s free.

Creating a Code Repository

Once you have an account, click on the Repositories tab and create a new one:

Next, you’ll want to create a repo by giving it a name and deciding if you want it public or private. If you make it public, you won’t have to create git keys using an authentication token. I would also choose to create the README. I am using a repo name called “ssl-verify” but you can make your repo name anything you want.


In the example below I have two repos creating so far. The first one is called “verses” and the second “svggames“. The screen is not showing the “ssl-verify” repo that I created in our example.

Git repo list

It is possible to have other code repositories besides github. Specifically your company may give you a URL to use. Github is the public repository that everyone can use and it works the same for the commercial/private code servers (mostly).

Installing a Git Client

You can run the git client on Windows, Mac, Linux, etc. Whatever OS you have, it has a git client.

To install git on debian/ubuntu (such as a Raspberry Pi) based systems, type:

If you are on windows and can use CLI, I prefer Cygwin. This tutorial will go over CLI version. If you need a GUI in windows, there are several git windows clients to choose from, both free and paid:

There are at least 20 gui clients for mac, linux and windows in this list of clients on git-scm.com. I personally use the cygwin client.

Using Git

Now that you have an account, a repository and a client, you can begin working in git.

The basic steps are:

  • Clone your repo
  • Add/Modify Files
  • Commit Files to Change List
  • Push Files to Repo

Cloning a Git Repository

Cloning takes the copy of files in a repo and moves them to your current directory, locally. You will need to get the repo URI. This is in the format of:

For example, my svggames repo is shown when I click the clone or download box:

Git Clone Repo

Now that I have the .git location URI, I can use it in the CLI or client of your choice:

At this point all of the files in the repo have been downloaded to my local directory in a folder called “svggames”. So I will change to that directory and being coding/modifying/whatever (I use CLI, so I actually type):

If I wanted to get in the habit of checking git status, it would show that nothing is modified (this is true, because I just downloaded it a few seconds ago).

Add/Modify Files

Now if I wanted to modify a file, I can open it locally and make my changes or even use the code as-is – assuming there is a run/install script there. If I make changes, Git will recognize that the file has changed. For tutorial purposes, assume that I have modified the README.md with a few more tips or instructions and want to upload it. I can verify what git client sees by using the “git status” command after Ive modified the README.md:

Git is telling me I need to commit add a file and then commit.

Commit Files to Change List

We will commit our list of files later, but first we have to add which files will be in that list. The command is simply “git add ” and it does not return anything:

Commiting a File

Committing allows us to add a comment to each commit. I like to add a file, then commit, then push – one at a time. This keeps my logs clear on what I am doing.

Git tells me the files changed and the comment has been included “Created initial README info”. This will show up later when I check git logs, or in the github.com repo for my account and repo “https://github.com/rubysash/svggames/” if anyone reviews it later.

Pushing Files to Repo

Finally I have made changes, told git which files I want uploaded using the “add” command, committed them with a comment using the “commit” command. My final step is to upload them using the “push” command:

Looking in the web view, I can see my commit a few minutes ago, and the new commit comment:

git committed

That is the basic method for creating a repo, and managing files in it. There are many other git commands for branching, adding users, making things private, creating projects, workflows and more. Git is a robust code management solution and should be something you know how to access, and use if you work with code.

Other Git Notes

Git Pull Code Update

If I wanted to collaborate and someone else was working on the code with me, or if I had code in multiple locations (such as home/office), I could use git pull to get an updated version of the code before I started doing my own edits. If there were changes git would tell me details of those changes, or it would go ahead and do the code merge from the remote to my local code:

Git Log Review

I could also review all of the changes I made to help me decide what I might need to roll back. Here is a sample of the session that matches what we just did:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.