Git - 如何删除除以前的2(或n)个文件以外的所有文件?

时间:2016-05-19 17:20:48

标签: git gitlab

我有一个测试仓库,我们会在其中进行一系列更改以传递给生产团队。这已经增长了一点 - 我们想修剪回购。由于我们在其他客户中有副本 - 我们希望

  • 对于给定目录中的所有文件 - 删除除文件的前3个版本之外的所有文件,并从repo中删除任何引用。

我想由dir做这个目录。基本上从git / repo / disk中删除任何早于n-3的版本,用于给定文件或目录中的文件。

感谢

1 个答案:

答案 0 :(得分:1)

您可以创建此repo的克隆。浅意味着你可以拥有最后的n次提交(按照整个树而不是每个文件提交) git clone --depth 2 git@your.server.com:dir/repo.git shallow_repo
请注意,如果您希望此克隆作为服务器,则可能需要添加--mirror

您也可以使用本地目录从同一台机器执行此操作:
git clone --depth 2 file:///path/to/repo/ shallow_repo
请注意,从本地目录执行此操作可能只会带来当前分支,而不是所有分支。