Flash cards
Review the key moves
What is the main idea behind Git Commit?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ commit -m "First release of Hello World!"Put the learning moves in the order that makes the concept easiest to apply.
What is a Commit?
A commit is like a save point in your project.
It records a snapshot of your files at a certain time, with a message describing what changed.
You can always go back to a previous commit if you need to.
Here are some key commands for commits:
- git commit -m "message" - Commit staged changes with a message
- git commit -a -m "message" - Commit all tracked changes (skip staging)
- git log - See commit history
How to Commit with a Message ( -m )
To save your staged changes, use git commit -m "your message" :
Example
git commit -m "First release of Hello World!"
[master (root-commit) 221ec6e] First release of Hello World!
3 files changed, 26 insertions(+)
create mode 100644 README.md
create mode 100644 bluestyle.css
create mode 100644 index.htmlAlways write a clear message so you and others can understand what changed.
Commit All Changes Without Staging ( -a )
You can skip the staging step for already tracked files with git commit -a -m "message" .
This commits all modified and deleted files, but not new/untracked files .
Example
git commit -a -m "Quick update to README"
[master 123abcd] Quick update to README
1 file changed, 2 insertions(+)Warning
Skipping the staging step can make you include unwanted changes. Use with care.
Note
git commit -a does not work for new/untracked files. You must use git add <file> first for new files.
What happens if you try to commit a new file with -a ?
$ git commit -a -m "Try to commit new file"
On branch master
No commits yet
Untracked files:
(use "git add
..." to include in what will be committed)
index.html
nothing added to commit but untracked files present (use "git add" to track)Write Multi-line Commit Messages
If you just type git commit (no -m ), your default editor will open so you can write a detailed, multi-line message:
Example
git commitWrite a short summary on the first line, leave a blank line, then add more details below.
Commit Message Best Practices
- Keep the first line short (50 characters or less).
- Use the imperative mood (e.g., "Add feature" not "Added feature").
- Leave a blank line after the summary, then add more details if needed.
- Describe why the change was made, not just what changed.
Other Useful Commit Options
- Create an empty commit: git commit --allow-empty -m "Start project"
- Use previous commit message (no editor): git commit --no-edit
- Quickly add staged changes to last commit, keep message: git commit --amend --no-edit
- Forgot to stage a file? If you run git commit -m "message" but forgot to git add a file, just add it and commit again. Or use git commit --amend to add it to your last commit.
- Typo in your commit message? Use git commit --amend -m "Corrected message" to fix the last commit message.
- Accidentally committed the wrong files? You can use git reset --soft HEAD~1 to undo the last commit and keep your changes staged.
View Commit History ( git log )
To view the history of commits for a repository, you can use the git log command:
Example
git log
commit 09f4acd3f8836b7f6fc44ad9e012f82faf861803 (HEAD -> master)
Author: ExampleSite-test <test@ExampleSite.com>
Date: Fri Mar 26 09:35:54 2021 +0100
Updated index.html with a new line
commit 221ec6e10aeedbfd02b85264087cd9adc18e4b26
Author: ExampleSite-test <test@ExampleSite.com>
Date: Fri Mar 26 09:13:07 2021 +0100
First release of Hello World!For a shorter view, use git log --oneline :
Example
git log --oneline
09f4acd Updated index.html with a new line
221ec6e First release of Hello World!To see which files changed in each commit, use git log --stat :
Example
git log --stat