GIT:推送后的不需要的文件

时间:2015-10-22 19:09:08

标签: git openshift

我使用openshift,我有一个远程git存储库,如下所示:

 .gitignore (contains "data/") 
 /source
 - test.php 
 /data
 - 1.png
 - 2.jpg

我在计算机上查看了这个存储库。然后我改变了test.php。同时,我在远程存储库中删除了文件:1.png& 2.jpg我添加了文件smile.jpg

远程:

 .gitignore (contains "data/") 
 /source
 - test.php 
 /data
 - smile.jpg

本地

 .gitignore (contains "data/") 
 /source
 - test.php (changed)
 /data
 - 1.png
 - 2.jpg

然后当我:git add / git commit / git push从我的计算机进行test.php修改时。 我的smile.png已被旧文件(1.png& 2.jpg)取代。

我做错了什么?我想保留smile.jpg个文件。

PS:我的远程存储库是我的生产网站,data包含所有上传的文件。在每次推送时,我删除的所有文件都被删除:(

git status

之前

git commit

$ git status
warning: LF will be replaced by CRLF in test.php.
The file will have its original line endings in your working directory.
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   test.php

2 个答案:

答案 0 :(得分:1)

如果您在将文件添加到git之后将data/*文件夹添加到.gitignore,则您必须

$ git rm data/1.png ; git rm data/2.png

答案 1 :(得分:0)

如果您使用的是Openshift,则必须使用openshift ~/app-root/data文件夹。 以下问题可以帮助您解决问题 How to keep file sync'd in OpenShift?