Это потому, что git diff
перечисляет только изменения файлов, которые являются частью репозитория, а ваш вновь созданный файл - нет.
Самое простое решение - добавить файл в индекс:
$ git add ABC.txt
А затем используйте опцию --cached
при создании патча:
$ git diff --cached > mypatch.diff
Однако, если ошибка возникает при применении diff, она может быть вызвана тем, что файл не существует в целевой ветви, поэтому git
не знает, где применить эти изменения.
Вы можете увидеть, содержит ли файл diff изменения ранее существовавшего файла или вновь созданного файла, посмотрев на заголовок чанка:
Если вы видите:
--- a/ABC.txt
+++ b/ABC.txt
Затем вносятся изменения в существующий файл. Применение этого патча не создаст новый файл из void.
Но если вы видите:
--- /dev/null
+++ b/ABC.txt
Тогда это вновь созданный файл, и применение этого патча создаст новый файл с этим содержимым.