Can git commit "empty versions" of new, non-empty files?
To be honest, I do not really understand what this is useful for. I would try to fix the review process instead of messing up the history. But if you really want to do this, here are several ways how:
The pragmatic approach:
mv file out-of-way touch file git add file mv out-of-way file
The porcelain approach:git add -N file git add -p file
... and just answer "no" when asked whether the single hunk should be added. (Apparently this does not work anymore in 2019.)
The plumbing approach:
First, make sure an empty object exists in the object database:
git hash-object -w --stdin < /dev/null
This will return the SHA1 of an empty blob (which is
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
). You have to create this object only once. Now you can create empty files in the index bygit update-index --add --cacheinfo 0644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 file