I have run git status
and see several modified files and several deleted files.
Is it possible to stage only deleted or only modified files?
git add . stages the new files and modifications but not deletions.
It does not add any new files, it only stages changes to already tracked files. git add -A is a handy shortcut for doing both of those.
Note that by using the “git rm” command, the file will also be deleted from the filesystem. Also, you will have to commit your changes, “git rm” does not remove the file from the Git index unless you commit it. As always, let's have a quick example in order to illustrate the commands we just described.
As the documentation says, git stage is just a synonym for git add , so there is no difference in usage.
If you have a mix of modified and deleted files and only want to stage deleted files to the index, you can use git ls-files
as a filter.
git ls-files --deleted | xargs git add
If you only want this to apply to part of the file tree, give one or more subdirectories as arguments to ls-files
:
git ls-files --deleted -- lib/foo | xargs git add
To do the same for only modified files, use the --modified
(-m
) option instead of --deleted
(-d
).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With