我在一个项目中使用 git,它会生成大量数据文件(模拟结果)。我“被迫”在同一个存储库中对所有这些结果进行版本化和跟踪。(这是硬性要求,无法更改)
但是我不需要它们。我们有大约 50 MB 的项目空间和 5 GB 的结果在存储库中。
我是否可以创建一个分支,删除所有结果,检查这个分支并只在那个分支上工作?
将我的本地更改推回胖分支有多难(我必须做什么)?
有没有更好的解决方案来为我的工作摆脱那些 5 GB?
如果您要创建一个分支并从分支中删除结果文件,那么将您的分支合并回 master 也会尝试从 master 中删除结果。文件删除与其他任何更改一样。
也许您可以使用 git 子模块支持将代码更改作为胖存储库的子模块来管理。这样,胖存储库似乎包含所有内容,但您可以独立处理小代码位。这可能需要一些摆弄才能顺利工作。
如果您创建一个分支,并在一次提交中删除不需要的文件,您应该能够将任何后续提交挑选回您的主分支,而无需合并删除数据文件的提交。
除了 git cherry-pick 之外,另一种选择是在合并之前对文件删除更改运行 git-revert。