Introduction
As a project
management tool, Git allows users to queue a group of changes before committing to the project. This queue is called an index, and files can be deleted before they are committed.
This guide will show you how to delete/disorganize staging area files in git.
prerequisites
An existing installation of Git A
- Git project A terminal/command line window Linux:Activities >
- Find > Windows Terminal
- right-click Start > command prompt (or Windows PowerShell)
:
- Git
Unleash settings for all files in
To remove all staging index changes, type the following command:
Reset
git This will remove all changes from the staging area. It will not delete any files: The git add command can be used to re-add changes to the staging index.
The staging index is in . git/index. Fits in the middle of the Git commit process:
- files are created or modified during project development
- Users commit those changes with a name and description
- git reset command
Users decide which changes to publish together to the index using the git add command
The
is used to clean up the index and add changes from scratch.
Disorganize
a single file or directory The git reset command can be directed to a single file or directory.
For example, use the following command:
git reset location/of/file.ext
git reset directory
/location Using the .gitignore file The .
Gitignore
is a file that can be added to any directory in a project. It’s a simple text file, and anything you add to it won’t be organized or included in a commit.
Use a text editor to create a . gitignore in a project directory. Next, edit the file and add the names of the assets that will be excluded from the commits.
For example, development log files typically do not need to be included in a commit. These could be added by name to the .gitignore file.
Disorganize committed files
The git reset command
can allow changes to files and directories that have already been committed. The basic command
to unprovisionalize a commit is as follows:
git reset [option] [confirm]
In [option] specify the type of reset being performed. In [commit] specify the name of the commit to reset.
Unstage Commmits Soft
Use the following command to perform a soft mismatch: git reset -soft [commit] A soft reset has the following effects:
- Update reference pointers Staging
- index is intact
- directory not touched
Working
Unstage Commits Hard
Use the following
command to perform a hard unstage
: git reset -hard [commit]
A hard reset has the following effects
:
Updates reference pointers to the specified commit Staging index is reset to match the specified commit Working directory is
- reset to match the specified commit
- Any pending changes to the Working Directory and staging index are lost
Mixed
offset option If no option is specified, the git reset command performs a mixed offset : git reset –mixed [commit] or git reset [commit]
This has the following effects:
- Updates reference pointers
- specified commit
- Changes that are rolled back from the staging index are moved to the working directory
Resets the staging index to the
Conclusion
You should now have a solid understanding of how to disorganize files in
Git. See our Git Command Cheat Sheet
for a complete list of fundamental Git commands. If you encounter a Git merge conflict, be sure to read our article How to resolve merge conflicts in Git.