简体   繁体   中英

What's the difference between “git add -u” and “git add -A”?

Okay, so I was searching "How to Remove Manually Deleted files from Git" without actually doing git rm file.txt for each file when I came across " Removing multiple files from a Git repo that have already been deleted from disk ".

The two most Up-Voted commands were:

  • git add -u
  • git add -A

Although both of them worked for me, I still can't understand the difference and the solutions on the page don't explain it either. My questions are, how are they differ from each other, and what other git commands can be used to remove files that have been deleted manually from the disk?

Brief Answer:

git add -A is equal to git add . + git add -u


Explanation:

When you do a " git add . ", it adds all files (existing, modified and new) to the staging area but it does not remove files that have been deleted from the disk.

" git add -u " only adds currently tracked files (which have been modified) to the staging area and also checks if they have been deleted (if yes, they are removed from staging area). This means that it does not stage new files.

Doing " git add -A " performs both of these steps, that is, stages your entire directory as it is.


Summary:

  • git add -A : Stages Everything
  • git add -u : Stages only Modified Files
  • git add . : Stages everything, without Deleted Files

Read the Documentation for more.

git add -A will track new, modified and deleted files

git add -u will track modified and deleted files

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM