What's the difference between `git add .` and `git add
I was assuming that both work in the same way. Both add every file onto index. But I seem wrong.
git add .
and git add -u
? It is one of the git gotchas mentioned here (pre Git 2.0).
git add .
only adds what is there, not what has been deleted (if tracked).
git add .
git commit
git status
//hey! why didn't it commit my deletes?, Oh yeah, silly me
git add -u .
git commit --amend
git add -A
would take care of both steps...
With Git 2.0, git add -A
is default .
git add <path>
is the same as " git add -A <path>
" now, so that " git add dir/
" will notice paths you removed from the directory and record the removal.
In older versions of Git, " git add <path>
" used to ignore removals.
You can say " git add --ignore-removal <path>
" to add only added or modified paths in <path>
, if you really want to.
Warning (git1.8.3 April 2013, for upcoming git2.0).
I have modified my answer to say git add -u .
, instead of git add -u
.:
git add -u
will operate on the entire tree in Git 2.0 for consistency with " git commit -a
" and other commands.
Because there will be no mechanism to make " git add -u
" behave as " git add -u .
", it is important for those who are used to " git add -u
" (without pathspec) updating the index only for paths in the current subdirectory to start training their fingers to explicitly say " git add -u .
" when they mean it before Git 2.0 comes.
As I mentioned in "e"
Like the manual says: git add .
will add all files in you current directory, while git add -u .
will only add those already being tracked.
git add documentaiton
git add .
add all files from the current directory
git add -u
only update files currently being tracked.
链接地址: http://www.djcxy.com/p/7912.html上一篇: “未跟踪文件”?