git push force、phpFog以及不在我的代码库中的随机文件出现

8
我正在使用phpFog,并通过git push -f <repo>进行部署,以覆盖服务器上的现有内容。我的一些部署来自完全不同的仓库,因为我正在尝试一些东西。
我发现了一个来自之前推送的文件,在当前推送的仓库中已经不存在,但仍滞留在服务器上。我可以通过php脚本删除该文件,但每次向服务器进行新的推送时,该文件都会重新创建--即使新推送的仓库不包含它。
我想要得到的教训是不要强制推送,但为什么在推送不包含它的仓库时,该随机文件会被重新创建呢?
这里是我看到的情况:
  • git push -f repo_1(包含random.txt)
  • random.txt存在
  • 我删除所有文件,random.txt现在消失了
  • git push -f repo_2(不包含random.txt)
  • random.txt再次存在(为什么?!)

编辑:我假设强制更改存储库会使旧文件仍然被跟踪,即使新存储库从未跟踪它们。 我修改了我的部署方法,现在克隆phpFog上的内容,git删除所有内容,并在推送之前添加我的新文件。 https://github.com/swt83/phpfog-deploy


即使对我来说似乎有点太贵,但使用phpFog还是值得的。 - dynamic
1
你是直接删除文件而没有提交或让git知道它已被删除吗?你可能需要从索引中删除它(git rm --cached random.txt)并提交。 - Nic
1个回答

0
一些我的部署来自完全不同的存储库。
如果您有一个工作副本(不是损坏的副本),您可以简单地删除git源目录并克隆/拉取您的工作副本吗?
在提交时,git commit -am“此处输入消息”总是能找到已删除的文件等。这是您用于提交的命令吗?
您也可以尝试从git的列表中删除文本文件以获得成功:
git rm --cached random.txt

Github展示了如何防止该文件被跟踪。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接