代码之家  ›  专栏  ›  技术社区  ›  Mo.

Git中存储库/分支的轻型版本

  •  4
  • Mo.  · 技术社区  · 16 年前

    我在一个项目中使用Git,它会生成很多数据文件(模拟结果)。 我“被迫”在同一个存储库中修改和跟踪所有这些结果。(这是一项艰巨的要求,无法更改)

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

    我是否可以创建一个分支、删除所有结果、签出该分支并只在该分支上工作?

    要把我的本地更改推回到胖分支会有多困难(我必须做什么)?

    有没有更好的解决方案可以为我的工作去掉5 GB的内存?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Greg Hewgill    16 年前

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

    也许您可以使用Git子模块支持将代码更改作为FAT存储库的子模块来管理。通过这种方式,FAT存储库似乎包含所有内容,但您可以独立地处理小代码位。这可能需要一些周旋才能顺利工作。

        2
  •  3
  •   SpoonMeiser    16 年前

    如果您创建了一个分支,并且在一次提交中删除了不需要的文件,那么您应该能够在不合并删除数据文件的提交的情况下,将任何后续提交重新挑选到主分支中。

    manual for git cherry-pick .

        3
  •  0
  •   skiphoppy    16 年前

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