4

我在一个项目中使用 git,它会生成大量数据文件(模拟结果)。我“被迫”在同一个存储库中对所有这些结果进行版本化和跟踪。(这是硬性要求,无法更改)

但是我不需要它们。我们有大约 50 MB 的项目空间和 5 GB 的结果在存储库中。

我是否可以创建一个分支,删除所有结果,检查这个分支并只在那个分支上工作?

将我的本地更改推回胖分支有多难(我必须做什么)?

有没有更好的解决方案来为我的工作摆脱那些 5 GB?

4

3 回答 3

2

如果您要创建一个分支并从分支中删除结果文件,那么将您的分支合并回 master 也会尝试从 master 中删除结果。文件删除与其他任何更改一样。

也许您可以使用 git 子模块支持将代码更改作为胖存储库的子模块来管理。这样,胖存储库似乎包含所有内容,但您可以独立处理小代码位。这可能需要一些摆弄才能顺利工作。

于 2008-09-16T11:23:02.313 回答
2

如果您创建一个分支,并在一次提交中删除不需要的文件,您应该能够将任何后续提交挑选回您的主分支,而无需合并删除数据文件的提交。

请参阅git cherry-pick 的手册

于 2008-09-16T19:24:24.030 回答
0

除了 git cherry-pick 之外,另一种选择是在合并之前对文件删除更改运行 git-revert。

于 2009-04-02T19:49:01.677 回答