git版本库/分支的简明版本
时间:2020-03-05 18:55:40 来源:igfitidea点击:
我在一个项目上使用git,该项目会生成大量数据文件(模拟结果)。
我被"强制"版本化并跟踪同一存储库中的所有结果。 (这是一个硬性要求,不能更改)
但是我不需要它们。我们有大约50 MB的项目空间,而存储库中有5 GB的结果空间。
对我而言,创建分支,删除所有结果,检出该分支并仅在该分支上工作是否可行?
将本地更改推回胖分支将有多困难(我必须做)?
是否有更好的解决方案来摆脱那些5 GB的工作空间?
解决方案
回答
如果要创建分支并从分支中删除结果文件,则将分支合并回master还将尝试从master删除结果。删除文件就像其他任何更改一样。
也许我们可以使用git子模块支持将代码更改作为fat存储库的子模块进行管理。这样,胖存储库似乎包含了所有内容,但是我们可以单独处理小的代码位。这可能需要一些摆弄才能顺利进行。
回答
如果创建分支,并在一次提交中删除不需要的文件,则应该能够将所有后续提交重新选择回主分支,而无需合并删除数据文件的提交。
参见手册git cherry-pick。
回答
除了git cherry-pick之外,另一种替代方法是在合并之前对文件删除更改运行git-revert。