我有一个网站。用户可以添加他们的个人资料。所以,我的网站将这些文件保存在一个文件夹中。但是,我的本地git clone只有这个没有图像的图像文件夹。
当我使用“git push”命令时,它工作得很好但删除了用户添加的所有图像..我该如何解决这个问题? [或者,我如何添加图像(由用户添加)到git tracking?]
(我正在使用openShift)
答案 0 :(得分:2)
您需要使用OPENSHIFT_DATA_DIR来保存持久文件。使用符号链接将其链接到repo中的一个文件夹。
修改
post_deploy示例
#!/bin/bash
echo ".................Starting 'post_deploy' Action Hook..................................."
echo ".................attempting 'uploads' setting up symlink........................"
echo "................................................................................"
cd $OPENSHIFT_REPO_DIR/<path to static folder>
ln -s $OPENSHIFT_DATA_DIR/uploads uploads
echo ".................creating 'uploads' completed........................"
echo "................................................................................"
答案 1 :(得分:0)
您可以在运行git add
命令时跳过该文件夹,或者更好地将其添加到.gitignore
文件中,如下所示:
your_folder/*
答案 2 :(得分:0)
Git适用于文件,而不适用于文件夹。如果文件夹不包含任何文件,git会假定文件夹本身也不应该存在。
最常用的解决方案是需要保留的文件夹中的空文件.gitkeep
。然后,在.gitignore
中添加以下内容:
images_folder/*
!images_folder/.gitkeep
这告诉git忽略images文件夹中的所有文件,但名为.gitkeep
的文件除外。 (因此该文件也必须提交。)然后git没有理由删除该文件夹,因此您的图像将保留。