我的公司网站有一个Git仓库,其中包含一些包含大量二进制文件(PDF,MP3等)的目录。当然,这导致了一个非常大的回购,这使得克隆它非常不切实际。许多分支机构都有大量的提交。
我已经确定BFG Repo-Cleaner(这似乎简化了这个过程)作为我想从我的仓库中删除这些二进制文件的方法。但是,在运行BFG之前,我不理解从我的存储库的HEAD中删除这些文件的正确过程(假设您最近的提交已从历史记录中删除了要清理的所有文件)。
为了澄清,我的git索引和工作树目前都存在于网站的文档根目录中。我想从存储库中删除的文件需要保留在Document Root中的位置。当我下拉后续更改时,如何告诉Git忘记这些目录而不删除它们?
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
如果audio
目录中有大量MP3文件,则可以执行以下操作:
git rm audio/*.mp3
暂存他们echo "*.mp3" >> .gitignore
让git在将来忽略MP3文件git add .gitignore
暂存忽略文件git commit
提交更改现在MP3文件将不再是HEAD,但如果你把它们放回audio
目录,git会忽略它们。
免责声明:我没有测试这个确切的序列,您可能需要先提交删除,然后在单独的提交中更新.gitignore
,但我不这么认为。