Git commands like
git diff and
git add --patch are awesome, but their
little caveat is that they only work on files that are currently tracked in
the repository. That means that after working on that new feature for 30
git diff is only going to show you the changes to existing
files and when you go to start making commits with
git add --patch you
will again be provided with only part of the picture.
git add command has a flag,
-N, that is described in the git man
Record only the fact that the path will be added later. An entry for the path is placed in the index with no content. This is useful for, among other things, showing the unstaged content of such files with git diff and committing them with git commit -a.
By adding untracked files with the
-N flag, you are stating your intent
to add these files as tracked files. Once git knows that these files are
meant to be tracked, it will know to include them when doing things like
computing the diff, performing an interactive add, etc.