我有几个文件在repo中,也在.gitignore中。
我希望这些文件从repo中删除,但是当我git pull origin master
我尝试了多种解决方案,但没有接缝工作,每一次我最终都会在拉动时从服务器上删除文件。
参考文献:
How to make Git "forget" about a file that was tracked but is now in .gitignore?
Remove directory from remote repository after adding them to .gitignore
How to remove files that are listed in the .gitignore but still on the repository?
答案 0 :(得分:3)
AFAIK,无法使用“停止跟踪但保留现有版本”标记来标记文件路径。
在部署包含删除文件的第一个版本时,您需要执行一个手动操作。
类似的东西:
cp file file.prod
git pull
mv file.prod file
答案 1 :(得分:1)
首先需要git filter-branch
,然后让每个人根据旧历史创建分支。
请参阅:https://help.github.com/articles/remove-sensitive-data/
这很复杂,可能会引起问题,所以下次要小心,不要到达那里。
如果由于某种原因你无法做到这一点,那么需要等到机器发明的时间:)