git无法提交设备文件?在Linux系统下。
例如:
git clone [email protected]:/blah.git
cd blah
sudo cp -af /dev/ttyS0 .
git add .
git commit
git 消息:
# 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
不,Git 根本不会跟踪设备文件(目前)。以下是来自的评论dir.c
,读取目录递归(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 跟踪内容,而不是文件。因此,尝试让它跟踪设备文件并不合适 - 它们实际上没有传统意义上的内容。
一种可行的方法是创建一个脚本,用于创建/“安装”应用程序/项目所需的设备文件(包括 fifo 或您可能需要的其他文件)。Git 可以非常有效地跟踪这一点,并且对于安装程序(或对于使用您的树的其他人)来说,这是一种方便的形式。