git diffにまだ一度もコミットされていないファイルを含めるにはgit add --intent-to-add

まだ一度もコミットしていないファイルを git diff で表示したい場合は、git add--intent-to-add オプションを使うと、コミットせずとも git diff に表示できます。

$ echo 'Hello' > example.txt
$ git add --intent-to-add .
$ git diff
diff --git a/example.txt b/example.txt
new file mode 100644
index 0000000..e965047
--- /dev/null
+++ b/example.txt
@@ -0,0 +1 @@
+Hello

CIでgo generateしてみて差分があるかチェックする仕組みを作りたかったので、addしていないファイルも含めてdiffに出す方法はないかと探してみたところ、 --intent-to-add オプションを見つけました。

すでにGit管理下にあるファイルであれば、差分を確認したい場合は単に git diff するだけでいいのですが、コミットされていないファイルは単にdiffするだけでは表示されないので、そのためのオプションとして --intent-to-add があるようです。

ちなみに、 --intent-to-add は空のファイルを add するようで、それによって git diff に差分が表示されるようになるようです*1