![](/img/trans.png)
[英]Will git permanently remove files from index and history if the files were added and removed within a rebase with squash?
[英]GIT remove history for removed files in folder
我有一个 GIT 存储库,其中有两个文件夹,这些文件夹通过一些 GH 操作进行管理并转发到 GH 页面。 第一个文件夹(将其命名为data/
)包含通过 GH 操作定期收集的压缩历史数据。 第二个文件夹(命名为docs/
)包含最新收藏的未压缩数据和一些用于 GH 页面的额外 HTML 文件。 第二个文件夹也以与第一个文件夹相同的周期更新 - 从这个意义上说,内容在更新之前被完全删除( git rm *
和git push
)( tar x
后跟git add/commit/push
)
由于未压缩的数据非常大,GIT 存储库不断增长。 但是,我对保留第二个文件夹的历史记录不感兴趣 - 我只想保留最新更新,那么有什么方法可以删除第二个文件夹的历史记录以节省空间吗?
不完全是您问题的答案,但对我来说,您应该更改发布 github 页面的工作流程,因为您尝试做一些与 git 的工作方式背道而驰的事情......
您应该将 github 页面的结果放在另一个分支(例如gh-pages
)中,并从该分支发布 github 页面。
对于这个gh-pages
分支,不要保留历史记录(使用以下脚本中的命令git checkout --orphan gh-pages
完成)。
您可以使用我在此答案中提供的脚本来完成。
调整脚本以发布docs
untracked文件夹(而不是dist
文件夹),您将在其中构建文档而不提交它。
这样,您就不必重写历史记录,因为您的大文件夹永远不会在主分支中提交。
将 GitHub 项目中的设置更改为 select 其他分支:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.