1

git не может зафиксировать файл устройства? Под системой Linux.

Например:

git clone blah@blah.com:/blah.git
cd blah 
sudo cp -af /dev/ttyS0 .
git add .
git commit

Git MSG:

# On branch master
nothing to commit (working directory clean)

ls -ashl результат:

   0 crw-rw----  1 c2h2 c2h2 4, 64 Jun 24 14:23 ttyS0

Возможно ли это сделать?

1 ответ1

4

Нет, Git не будет отслеживать файлы устройства вообще (в настоящее время). Вот комментарий от dir.c , функция read_directory_recursive (v1.7.8.5), которая используется, когда вы делаете git add .:

 * Read a directory tree. We currently ignore anything but
 * directories, regular files and symlinks. That's because git
 * doesn't handle them at all yet. Maybe that will change some
 * day.

Git отслеживает содержимое, а не файлы. Поэтому попытка отследить файлы устройства на самом деле не подходит - в действительности они не имеют контента в традиционном смысле.

Подход, который будет работать, заключается в создании сценария, который создает /"устанавливает" файлы устройств, необходимые для вашего приложения /проекта (включая fifos или все, что вам может понадобиться). Git может отслеживать это очень эффективно, и это удобная форма для инсталлятора (или для других людей, использующих ваше дерево).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .