Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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
如何在git中保存用户上传的文件?_Git_Web_Repository_Openshift - Fatal编程技术网

如何在git中保存用户上传的文件?

如何在git中保存用户上传的文件?,git,web,repository,openshift,Git,Web,Repository,Openshift,我在openshift中有一个应用程序,其中有一个用户可以上传图像的选项。用户上传的所有图像都存储在location/images/中,一切进展顺利 但当我在本地Git存储库中修改/添加文件时 $git commit-a-m修改本地repo $git推送 推送后,用户上传的文件全部被删除 我认为这是由于用户上传的文件不在本地存储库中,因为同样的原因,当我提交并推git删除文件时 在提交和推送之前,我尝试了$git pull,但它说已经是最新的了 如何保存用户上载的文件或如何将其同步到本地存储库

我在openshift中有一个应用程序,其中有一个用户可以上传图像的选项。用户上传的所有图像都存储在location/images/中,一切进展顺利

但当我在本地Git存储库中修改/添加文件时

$git commit-a-m修改本地repo $git推送

推送后,用户上传的文件全部被删除

我认为这是由于用户上传的文件不在本地存储库中,因为同样的原因,当我提交并推git删除文件时

在提交和推送之前,我尝试了$git pull,但它说已经是最新的了

如何保存用户上载的文件或如何将其同步到本地存储库

简单地说,如果我只有一个本地存储库,如何从远程获取本地存储库中丢失文件的副本而不进行克隆

OpenShift有一个有用的例子,上面说:

当您部署应用程序的新版本时,OpenShift服务将用git存储库的新副本替换您的应用程序树。这样做的结果是,如果应用程序创建的任何文件存储在git控制的目录中,它们都将被删除

解决方案列在同一页上:

存储跨部署必须持久的文件的最佳实践是使用位于git存储库上一级的“data”目录。您可以使用$OPENSHIFT\u DATA\u DIR env变量在主机上引用它


您是否有可能会影响此过程的.gitignore?在我的本地存储库\.openshift\cron目录中,ya包含每日、每小时、每分钟、每月和每周除每周之外的所有目录都包含名为.gitignore的文件,该文件为空0字节。我无法更改目录的位置,因为我无法更改目录的路径数百页的图片。在提交之前,是否有任何方法可以将本地存储库与远程存储库同步?@Azad,正确的解决方案就是我在回答中概述的解决方案。即使您设法更新了本地副本,用户上传的图像也不应该提交到您的代码库中。它们是内容,因此与您的源代码有根本不同。@Azad,您可以使用交叉文件查找和替换来修复大多数图像路径。如果您这样做,那么使用变量而不是硬编码的路径可能是值得的,因此,如果您想要或需要再次移动图像,就可以像更改变量一样简单。