我使用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
答案 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?