git ls-files: howto identify new files (added, not committed)?

前端 未结 3 1063
伪装坚强ぢ
伪装坚强ぢ 2021-01-30 00:39

After I called git add the command git status will show me something like:

...
new file:    

相关标签:
3条回答
  • 2021-01-30 01:12

    Clarification: This is a way to show the files that I intend to add. This is not what the OP was looking for, but I'll leave this post in case it's useful to others.

    This seems to show only the files that I have added [to my working copy, not the index] but aren't matched by my standard ignore patterns:

     $ git ls-files --others --exclude-standard
    

    Without --exclude-standard, it also shows files that are ignored when I run git status.

    0 讨论(0)
  • 2021-01-30 01:15

    You want to use git diff --cached. With --name-only it'll list all the files you've changed in the index relative to HEAD. With --name-status you can get the status symbol too, with --diff-filter you can specify which set of files you want to show ('A' for newly added files, for instance). Use -M to turn on move detection and -C for copy detection if you want them.

    For the strictest reading of what you wrote, git diff --cached --name-only --diff-filter=A will list all the files you've added since HEAD which don't exist in HEAD.

    0 讨论(0)
  • 2021-01-30 01:16

    I would like to see all the added and modified files, so the merge of
    git diff --cached --name-only
    +
    git ls-files --modified --deleted
    but without [1]+ Stopped ... in between.

    When I use git diff --cached --name-only && git ls-files --modified --deleted I receive:

    content/blog/2020/05/artificial-intellect.json
    content/blog/2020/05/artificial-intellect.pug
    
    [1]+  Stopped                 git diff --cached --name-only
    content/index.json
    index.php
    
    0 讨论(0)
提交回复
热议问题