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.

  • What's the difference between 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

    上一篇: “未跟踪文件”?

    下一篇: `git add .`和`git add有什么区别?