2013-04-03 64 views
0

这里删除文件是我的情况:Permanentely从一个Git仓库,同时保留历史

我有以下布局的git仓库

myrepo/ 
myrepo/index 
myrepo/data/data01 
myrepo/data/data02 
myrepo/data/data03 
... 

我有几百款,每个涂改的索引文件并添加一个数据文件。现在,存储库已经变得相当庞大,我希望完全摆脱数据文件,不仅仅是从我的头上移除它们,而且还从元数据中移除它们,从而减少了存储库的大小。但是我想这样做,保留我的提交的其余部分(索引的修改,同时添加数据)。那可能吗?

回答

0

我自己找到了答案github。这里是必要的命令:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch data/*' --prune-empty --tag-name-filter cat -- --all 
rm -rf .git/refs/original/ 
git reflog expire --expire=now --all 
git gc --prune=now 
git gc --aggressive --prune=now 
相关问题