简体   繁体   中英

Git add all files modified, deleted, and untracked?

Is there a way to add all files no matter what you do to them whether it be deleted, untracked, etc? like for a commit. I just don't want to have to git add or git rm all my files every time I commit, especially when I'm working on a large product.

Try:

git add -A

Warning: Starting with git 2.0 (mid 2013), this will always stage files on the whole working tree .
If you want to stage files under the current path of your working tree, you need to use:

git add -A .

Also see: Difference of git add -A and git add.

Try

git add -u

The " u " option stands for update. This will update the repo and actually delete files from the repo that you have deleted in your local copy.

git add -u [filename]

to stage a delete to just one file. Once pushed, the file will no longer be in the repo.

Alternatively,

git add -A.

is equivalent to

git add .

git add -u .

Note the extra '.' on git add -A and git add -u


Warning: Starting with git 2.0 (mid 2013), this will always stage files on the whole working tree .
If you want to stage files under the current path of your working tree, you need to use:

git add -A .

Also see: Difference of git add -A and git add.

The following answer only applies to Git version 1.x, but to Git version 2.x.

You want git add -A :

git add -A stages All;

git add. stages new and modified, without deleted;

git add -u stages modified and deleted, without new.

git add --all or git add -A or git add -A. Stages All

git add. Stages New & Modified But Without Deleted

git add -u Stages Modified & Deleted But Without New

git commit -a Means git add -u And git commit -m "message"

After writing this command follow these steps:-

  1. press i
  2. write your message
  3. press esc
  4. press : w q
  5. press enter

git add <list of files> add specific file

git add *.txt add all the txt files in current directory

git add docs/*/txt add all txt files in docs directory

git add docs/ add all files in docs directory

git add "*.txt" or git add '*.txt' add all the files in the whole project

I'm not sure if it will add deleted files, but git add. from the root will add all untracked files.

For newer version of Git.

I tried git add -A and this prompted,

warning: The behavior of 'git add --all (or -A)' with no path argument from a subdirectory of the tree will change in Git 2.0 and should not be used anymore. To add content for the whole tree, run:

git add --all:/ (or git add -A:/)

To restrict the command to the current directory, run:

git add --all. (or git add -A.)

With the current Git version, the command is restricted to the current directory.


Then I tried below which worked .

git add --all :/

I authored the G2 project, a friendly environment for the command line git lover.
Please get the project from github - G2 https://github.com/orefalo/g2

It has a bunch of handy commands, one of them being exactly what your are looking for: freeze

freeze - Freeze all files in the repository (additions, deletions, modifications) to the staging area, thus staging that content for inclusion in the next commit. Also accept a specific path as parameter

This is my alternative (in any bash):

$ git status -s|awk '{ print $2 }'|xargs git add

To reset

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD

I use the following line to add for staging all the modified and newly created files, excluding the ones listed in.gitignore:

git add $(git ls-files -mo --exclude-standard)

(the syntax $() is for the bash shell). I guess that the command line option -mod should add also the deleted files... Or, if you have file names with embedded blanks, the following one-liner should do the trick:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add

From Git documentation starting from version 2.0:

To add content for the whole tree, run:

git add --all :/

or

git add -A :/

To restrict the command to the current directory, run:

git add --all .

or

git add -A .

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