![](/img/trans.png)
[英]Delete or remove all history, commits, and branches from a remote Git repo?
[英]git remove file and history from all branches
一年多以前,我已经在gitlab上创建了一个私有存储库,并且随着时间的推移,该回购协议已经有了一定的增长。 事后看来,我的一个错误是在存储库中放入了一些大的二进制文件。 我不了解git-lfs
,现在回购已大大增加。
所以我认为可能的方法是:
git-lfs
(同样在所有分支上都启用)。 情况是,我在存储库中有很多活动分支。 有没有办法用最少的命令在所有分支上做到这一点?
当然,另一种方式是存档此仓库,然后从头开始在一个全新的存储库中启用git-lfs
并手动添加所有内容。 但是,鉴于分支机构的数量,这似乎又是乏味的。
git lfs import
命令将自动执行此操作。 它将重写每个分支以删除大文件:
git lfs migrate import --everything
将在历史记录中定位所有大文件,并重写每个分支以将hem设置为LFS对象,而不是将大文件直接保留在Git中。
如果要标识要导入的大文件:
git lfs migrate import --everything --include='*.dat'
无论大小如何,都将迁移所有以.dat
结尾的文件。
如果您的存储库中有几个人在工作,我建议您仔细计划迁移 ,因为最终您将需要强制推送您重写的分支。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.