git add command is used after checking the status of the files, to add new or changed files in your directory to the staging area. The staging area contains a list of all the files you have recently changed. When the
git commit command is run, by default it only looks at this staging area, so
git add is used to craft what exactly you would like your next commit snapshot to look like.
git add command can also serve two other purposes
- To Resolve basic merge conflicts
- To interactively stage only specific parts of a modified file in Interactive Staging.
Git Add Syntax:
git add [file]
Git Add Common Usage
git add <path>: Stage a specific directory or file.
touch newfile.txt # Create a new file in the git repository
git add newfile.txt
git add .(or)
git add -A: Stage all the files available in the repository. Instead of adding one file at a time, this command allows users to add all the available files at once.
touch newfile1.txt # Create a new file in the git repository
git add -A
git add --ignore-removal: Update the index by adding new files that are unknown to the index and files modified in the working tree, but ignore files that have been removed from the working tree.
git add -u: Stage only the modified and deleted files. It will not stage the newly created files.
git add *.md: Add all the same pattern files at once. It is another way to add multiple files together. This command will stage all the markdown files.
git add -p: Begin an interactive staging session that lets you choose portions of a file to add to the next commit.
Undo Git Add Operation
We can undo a
git add operation. However, it is not a part of git add command. We can do it through
git reset command.
To undo an add operation, run the below command:
git reset <file-name>
You can learn more about the
git addcommand and its options in git-scm's documentation.