使用linux,我想使用git:
在下面的脚本中执行类似的操作cd /
sudo git init .
sudo git add -A
sudo git commit -m "Genesis."
我想这样做,以便在安装某些软件时以及我的其他目的时查看文件系统中哪些文件已更改。
但是当我尝试sudo git add -A
时,我会收到一些错误消息,例如:
error: readlink("proc/10/exe"): No such file or directory
error: unable to index file proc/10/exe
fatal: adding files failed
但是这没关系,可能/ proc文件对我没那么帮助。
所以我会简单地添加所有文件,但忽略我收到错误的文件。
我尝试了sudo git add -A --ignore-errors
并且产生了更大的输出,不幸的是,当git status
没有发生任何事情时。
那么,我怎么能添加所有不会导致错误的文件来实现我的需要呢?
答案 0 :(得分:1)
您可以在目录中创建 .gitignore 文件,并添加您要忽略的文件的名称。
步骤:
1. vi .gitignore
2.将“proc / 10 / exe”添加到文件中
3.按ESC键,然后:wq!
4.现在尝试再次添加。 - 它应该工作。
答案 1 :(得分:0)
尝试了几件事之后,我得到了答案:
sudo find * -type f | sudo xargs git add
此操作花了很长时间但工作正常。
事实是我向sudo find {folder here} -type f | sudo xargs git add
中的每个文件夹运行/
。
我试图在流浪的虚拟机(ubuntu / trusty64)上执行此操作,并且在操作之后.git文件夹大约有600MB。
然后我搜索了一个命令来获取所有未被跟踪的文件,并将它们添加到.gitignore。
所以我用过这个:
sudo git status -s | grep -e "^\?\?" | grep -v ".gitignore" | cut -c 4- >> .gitignore
不幸的是7 pem"文件"没有放入.gitignore:
"etc/ssl/certs/AC_Ra\303\255z_Certic\303\241mara_S.A..pem"
"etc/ssl/certs/Certinomis_-_Autorit\303\251_Racine.pem"
"etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_Sa\304\237lay\304\261c\304\261s\304\261.pem"
"etc/ssl/certs/NetLock_Arany_=Class_Gold=_F\305\221tan\303\272s\303\255tv\303\241ny.pem"
"etc/ssl/certs/T\303\234B\304\260TAK_UEKAE_K\303\266k_Sertifika_Hizmet_Sa\304\237lay\304\261c\304\261s\304\261_-_S\303\274r\303\274m_3.pem"
"etc/ssl/certs/T\303\234RKTRUST_Elektronik_Sertifika_Hizmet_Sa\304\237lay\304\261c\304\261s\304\261_H5.pem"
"etc/ssl/certs/T\303\234RKTRUST_Elektronik_Sertifika_Hizmet_Sa\304\237lay\304\261c\304\261s\304\261_H6.pem"
我尝试手动放置它们但是没有用。但我认为,出于检查目的,这不会是一个问题。
如果有办法将这些文件放在.gitignore中,我想知道。
感谢您的帮助。