Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该从.gitignore中删除上载/吗?_Git_File Upload - Fatal编程技术网

我应该从.gitignore中删除上载/吗?

我应该从.gitignore中删除上载/吗?,git,file-upload,Git,File Upload,我已经接管了一个网站的管理工作,在向网站添加新产品时遇到了问题。所有图像都存储在uploads文件夹中,当使用老开发人员创建的管理面板时,它有一个文件上载过程,可以将文件添加到此文件夹。但是,对于一类产品,它不起作用。我可以通过Sequel Pro手动将产品信息添加到数据库中,一切正常,但显然无法将图片上传到代码所需的路径。我只想将它们添加到uploads文件夹以遵循正确的路径,但uploads/列在.gitignore文件中 从.gitignore删除上传/会有任何负面影响吗?我担心的是,它会

我已经接管了一个网站的管理工作,在向网站添加新产品时遇到了问题。所有图像都存储在uploads文件夹中,当使用老开发人员创建的管理面板时,它有一个文件上载过程,可以将文件添加到此文件夹。但是,对于一类产品,它不起作用。我可以通过Sequel Pro手动将产品信息添加到数据库中,一切正常,但显然无法将图片上传到代码所需的路径。我只想将它们添加到uploads文件夹以遵循正确的路径,但uploads/列在.gitignore文件中

从.gitignore删除上传/会有任何负面影响吗?我担心的是,它会覆盖现有的上传目录,然后可能会干扰现有的上传过程。
我不知道为什么在gitignore上会包含上传,但我相信其他开发者一定有他的理由

通常
uploads/
不是代码所属的目录。这是从使用中产生的东西,不是使用所必需的。它在版本控制系统中经常被忽略的原因是不需要跟踪用户可能更改的所有内容。基于此,我不建议你停止忽视它

由于Git专门存储对象中每个更改的副本,因此不忽略并提交此目录中的文件实际上可能是个坏主意。您的存储库将毫无用处地增长。gitignore文件也不太可能与您的实际问题有任何关系

当从repo安装到新位置时,可能是由于克隆时repo中不存在
uploads/
目录,因此未创建该目录,或者该目录的权限不允许在上载到此新类别时添加子目录

对于第一个问题,考虑Git不跟踪目录,它跟踪其中的文件。如果您的项目有一个空且被忽略的
uploads/
目录,则不会提交该目录,因此在克隆时也不会创建该目录。您必须记住在克隆时手动创建此目录,或者通常的做法是向目录中添加
.gitkeep
文件并提交该文件。这将导致在克隆时创建文件,并保留文件结构。您可以提交一个被忽略的文件,提交后的更改将继续被忽略。要执行此操作,请使用带有git add的
-f/--force
标志

对于第二个问题,如果脚本试图在
uploads/
中创建新文件或子目录,请确保脚本运行的用户具有执行此操作的权限。该用户是什么取决于您的系统,但应该很容易在伟大的谷歌机器上找到

最后,提交此目录中的文件不应覆盖现有文件。匹配名称可能会使您在拉取或提交新更改时感到沮丧,但Git通常擅长于发出严重警告或完全拒绝盲目消除更改