我的代码目前是“开源”但不易访问,因为它无法从存储库中获取。我们的想法是通过SourceForge或Github提供它,但我愿意使用任何支持这些要求的免费网站。
该项目包含许多模块中的代码(org.pscode
层次结构下的Java包)和一些依赖项(例如50 meg的交叉编译插件,5-10 meg的MP3 ..)。该项目包含许多独立应用程序,它们与开发人员的交叉编译编译器完全不同,并为最终用户提供音乐点唱机。但是也有单个类(例如BigClip
可以容纳一个大的声音片段),这些非常适用于非项目本身的其他应用程序。虽然有些软件包实际上是“自包含的”(例如JaNeLA),但其他软件包是在一系列现有应用程序中使用的组件。
我机器上存在的整个项目已推出200兆。
作为一个想要播放长篇剪辑的开发人员,我会犹豫是否要下载200多兆字节的项目,以获得一个代码足够短以便在SO上发布的课程。
我在看Git,因为它似乎比旧版的CVS有很多进步,并且正在阅读Git For Eclipse Users&得到Distributed Version Control Systems的第3点开始..
鉴于没有主存储库,很明显存储库必须完全存在于DVCS中的每个节点上。 ..
令我担心,但我不确定我是否完全理解它,或者Git中是否有其他机制来提供所需的行为。
Git能否满足上述要求?
另一方面,这对大多数开发者来说是“无问题”吗?如果人们通常下载200兆的项目只是为了获得3 Kb的代码来解析逗号分隔值的文件,那么也许我一点也不担心。
答案 0 :(得分:2)
您可以使用git子模块。 git存储库中的子模块是对另一个git存储库的引用。通常,在克隆git存储库时,必须复制所有内容。但是,子模块是将大型项目拆分为多个单独存储库的方法。
但请注意,子模块需要位于单独的子目录中,因此如果您在单独的子模块中有所需的源代码,则可能需要移动它们,并可能更改链接。
克隆主项目时,它不会自动下载所有子模块。您需要指定要手动拉出所有子模块。但是,可以快速下载所有子模块,以获取更多详细信息:
答案 1 :(得分:1)
这对Git来说真的不可能。虽然,如果您将代码托管在Gitub等Git存储库上,用户可以浏览您的文件并下载他们认为必要的文件。见Git vs Subversion:
Git要求您克隆整个存储库(包括历史记录)并创建一个工作副本,该副本至少镜像版本控制下的项目子集
虽然Git的子模块功能可以帮助解决这个问题,但您必须管理多个存储库并确保它们之间的协调。如果你仍然主要在开发中,这可能有些混乱,可能需要一些重构。