×
By the end of this chapter, you should be able to:
git add
doesgit commit
doesgit status
doesIn order to take a snapshot of your code (what we will call a "commit"), you first need to add your code from your working directory to what is called the "staging" area. Git wants you to be careful and not just take snapshots haphazardly, so it adds an intermediate area called the staging area where your code goes before it is "committed" (i.e. before a snapshot is taken). To see what stage your code is at, you can use the git status
command.
If you have not added, removed, or modified any files, you will be notified that there is nothing to commit and your working directory is clean (nothing that needs to be staged or committed).
Let's take a look at a quick example. Create a directory called working_with_git
and cd
into it. Once in this directory, initialize a git repository. If you then type git status
, you'll be told that there's nothing to commit (in this case, because there are no files yet).
If you add a new file that has never been committed before, that file will be "untracked" by git. If you are modifying or deleting files that git has seen before, you will see "modified" or "deleted" when you examine git status
.
Let's see this in action. From your working_with_git
directory, create a file called example.txt
. If you run git status
now, you should see that this new file is not tracked yet. So let's track it!
To track this file, we can type git add example.txt
. More commonly, you can also type git add .
, which tells git to add everything that's changed in the current directory to the staging area. You can also type git add -A
; if you want to read more about the differences between the different ways to add, check out this Stack Overflow post.
Once you have added all the files you would like to the staging area, the next step is to commit with a message (you always need one). This is done using the git commit
command with the -m
flag. So once you have added, you can then type git commit -m "initial commit"
and you will make your first commit. Try it out with your git repository inside of working_with_git
.
To see what your commit history looks like, you can type git log
. This will show you each commit and the commit message that has been attached to it. To close out of git log
, you can press q
.
To see your commits in a bit of a cleaner fashion, you can add the --oneline
flag to the git log
command. So if you type git log --oneline
you will see each commit on one line, which may be easier for you to read.
You should practice going through the process of adding and committing several times. Try adding a second file, or adding some text inside of example.txt
. Add the changes to the staging area, then commit!
It never hurts to get more practice when you're first learning Git. Now that you know how to initialize a local git repository (using git init
), add files to the staging area, and commit them, try to complete these steps:
learn_git
. (Make sure you do this from a folder that isn't a git repository!)cd
into the learn_git
folder.first.txt
. first.txt
to the staging area.git log
.second.txt
.second.txt
to the staging area.first.txt
file.git log
.Well done! You have just walked through a very simple local git workflow. Even though these examples may seem relatively straightforward, this is almost identical to the way you work with git
in a professional environment!
When you're ready, move on to Configuring Git