git add is a powerful and useful command when working with git VCS. It allows us to stage changes for committing.
Staging refers to the process of selecting and preparing changes we want to include in the next commit. While we mainly use the
git add command to stage individual files, we can also use to add an entire directory to the git stagin area.
git add Do?
When we run the
git add command, we are basically telling git to take note of the changes or files that we want to include in the next commit.
This is a very important step is it allows us to separate changes into various logical units before committing them. For example, suppose some changes are fixing a bug while the other ones are adding new features.
We can start by adding the files containing the bug fixes to the staging area and then running a commit denoting the fix.
We can then re-run the add command to add the files that contains the new features and finally, commit those changes that contain the new features.
As a result, staging changes with
git add provides us fine-grained control over what gets included in the commits.
Git Add Folder
To add an entire directory to the staging area in Git, we can use the following command:
git add dir_name/
dir_namewith the actual name of the directory we wish to add.
This command stages all the changes within the specified directories and its subdirectories.
Example 1 - Add an Empty Directory
Suppose we have an empty directory named "docs" in the Git repository, and we want to add it to the staging area. We can do this by running the following command:
git add docs/
In this case,
git add stages the empty folder "docs" for the next commit.
Example 2 - Add Files within a Directory
Let us say we have a directory called "images" in the repository, and it contains several image files.
To stage all the files within the "images" directory, we can use the command:
git add images/
This command stages all the changes made to files within the "images" directory.
Example 3 - Add Specific Files Within Directory
in some other cases,, we may only want to stage specific files within a directory.
To achieve this, we can specify the file paths within the directory. For instance, if we have a directory called
src, that contains two files:
constants.py. We can stage them separately as shown:
git add src/main.py
git add src/constants.py
This allows us to selectively stage the changes in specific files within the
Verify Staged Changes
To confirm which files and folders are currently staged for the next commit, you can use the following command:.
This should return a summary of the staged changes and untracked files, allowing you to review your staging area before committing.
This guide walked you through the fundamentals of working with the
git add command to add various files and directories into the git staging area and prepare them for commit.