Может git совершить пустые версии некоторых файлов? Речь идет о том, что мне нужны новые (не проверенные) файлы, которые нужно сначала добавить и зафиксировать как , пустые файлы, чтобы пометить их содержимое как новое и быть просмотренным (полный, необрезанный файл должен быть добавлен не к индексу, git diff
должен показывать вновь добавленное содержимое, сравнивая файл с его пустой версией).Может ли git совершить «пустые версии» новых файлов?
Существует git add -N file…
, что ставит file
с пустым содержимым в индексе, но это лишь говорит о том, что file
будет добавлена и git commit
жалуется, что файл не был добавлен. Дело в том, что текущая, не пустая версия - это не то, что нужно добавить, а только пустая версия нового файла.
Есть ли способ сделать это?
PS: Этот вопрос задается в контексте программы, которая автоматически добавляет файлы в репозиторий git (моя программа следует тому, что пишут ученики кода). Незарегистрированный код - это код, который я еще не одобрил. Таким образом, состояние, в котором запускается программа, созданная студентом, должно быть пустым, хотя моя программа только что нашла новую, непустую программу в своем домашнем каталоге; это обрабатывается путем автоматической передачи новой пустой версии любого нового файла программы для студентов в репозитории git. Таким образом, новые строки кода, которые они пишут, появляются как новое добавленное содержимое по сравнению с последней проверенной версией git.
честно, я не понимаю вашу проблему. 'touch empty-file && git add empty-file && git commit' работает для меня. – joschi
'git diff' отлично работает для вновь созданного файла. Если вы различаете состояние, когда файл не существует с diff, когда он имеет контент, вы увидите все добавленные строки, то же самое различие, что и у пустого файла. (Только моделирование отличается.) – Cascabel
@joschi: Проблема в том, что у меня много новых, * непустых * файлов. Использование подхода Свена №1 более громоздко, поскольку он использует свой аккуратный подход к водопроводу. – EOL