Committing file changes
How to save changes to files using Git.
What are commits?
Git’s main power comes from the ability to keep a record of every single change made to the files in your project by taking snapshots called commits.
When you commit, Git only stores a summary of the changes, rather than storing entire copies of every changed file. This keeps things fast and stops a repository from getting unreasonably large.
Adding changes to the staging area
Before you commit, you need to make some changes in your project.
You can run the
git status command at any time for a list of files that have been added, changed, or removed inside your working directory.
The output will look a little something like this:
On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) index.html nothing added to commit but untracked files present (use "git add" to track)
Every change you make isn’t automatically included when you commit. You'll manually need to tell Git which changes you want to be included by adding them to the staging area using the
git add command.
For example, let’s say you've made changes to
index.html. To add all the changes in this file, you can simply type
git add index.html.
If you run
git status again, you’ll see that the output has changed slightly:
On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: index.html
Don’t worry, you don’t need to add every file one-by-one!
You can enter the name of an entire folder, or you just can use
git add -A to add all of the changed files to the staging area at once.
Creating your first commit
Once you've added all the files you want to include in the commit, you'll need to run the following command:
git commit -m "message"
message with a brief summary of the changes that you've made. Once you press enter the commit will be created.
[master (root-commit) d240853] Create the home page 1 file changed, 107 insertions(+) create mode 100644 index.html
Want to learn more about Git?
This tutorial is part of a free beginner-friendly course!