Git lesson 1: Initialize a repository and check its status
In lesson 0 you learned to configure Git. You will now learn how to use Git to start tracking files in a folder.
Let’s create your first repository. The first thing you need to do is create a new folder. This is where you will put the project files you want to put under version control. Don’t worry if you don’t know what version control means, this should become clear by the end of this lesson. We are creating a new folder for the current example, but in the real world you might use a folder that already exists and already contains files.
Repository. Computer files are usually stored in folders, sometimes referred to as directories when related files are stored systematically. When Git is used to track files in a folder or directory, the files, folder and version control information are collectively referred to as a repository, or repo for short.
Run the following commands from the location where you want to create the new folder for this lesson.
Create a folder and file
Following on from lesson 0, you will work with Git from the command line. It is possible to use Git with a graphical user interface (GUI), however it is useful to work from the command line when first starting out. By the end of these lessons, you will realize that working from the command line is fast and streamlined. You may even end up loving the command line… or at least not hating it!
# Create folder for project mkdir project_repo # Enter this new folder cd project_repo
Great! You created a new folder for your project and you are now located in that folder (i.e., it is your current directory). The next thing we want to do is create a file for your project. While you would usually use a text editor of some sort, these lessons primarily use the
echo command to write lines to files.
# Write 1 line of text to a text file called doc1.txt echo 'Line 1, doc 1. Branch master project_repo.' > doc1.txt
If you want to see what this command did, open the file
doc1.txt in a text editor of your choice.
Initialize the repository
You now have a folder,
project_repo, that contains a file,
doc1.txt. The next thing you want to do is tell Git to start tracking this folder and its content. You will do this with the
git init command.
# Initialize the repository git init
If you look inside your
project_repo, it might seem like nothing has changed. However, when running
git init for the first time, Git creates a hidden folder called
.git that contains the gory details required for version control. You will likely never need to look inside this folder, but it’s good to know it exists.
Check status of the repository
You will often want to verify the status of your repository (i.e., to check whether Git notices or is keeping track of files in the repository). If you have changed something in your repository or you are not sure about what files are tracked or untracked, you can run
git status to see what is going on in your repository. Let’s verify the status of
After running the above command, Git will print the following status message to your screen:
On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) doc1.txt nothing added to commit but untracked files present (use "git add" to track)
This information may seem a little confusing at first, but don’t worry, the important bits will be explained here and the rest will become clear in the next few lessons.
By default, Git initializes the repository with a branch called
master (branches will be explained in a later lesson). Therefore, the first line of the above output message is telling you that you are currently on the
The next line says that you have an untracked file in your repository (i.e.,
doc1.txt). The helpful thing about Git is that it often suggests what to do next. In this case, Git tell you that you may want to start tracking
Before you start tracking
doc1.txt, try using one of the aliases you created in lesson 0 to see a shorter status message. Specifically, use your
st alias, which stands for
Running this command returns:
The double question marks indicate that
doc1.txt is a file in your repository, but is currently not being tracked.
In this lesson, you learned how to initialize a repository and verify the status of this repository. In the next lesson you will learn how to add and commit your new file to your repository.