我有一个git项目,我用于最近发表的科学论文.在项目中,我有子目录doc(拆分为doc/paper doc/talks)results src等等.
现在我想发布我的源代码(但不是我的演示幻灯片等).让人们只访问src子目录的最佳方法是什么?我会发布一个zip文件来拍摄当前src目录的快照,但我希望人们能够轻松获得更新.
非常感谢.奥利弗
精简版:
您需要为每个要提供访问权限的顶级文件夹使用单独的repo.有关如何执行此操作的详细信息,请参阅子模块.
"稀疏"检查可以工作,但我相信这不能强加给你的用户,他们必须将整个存储库克隆到本地,然后才能得到一个部分工作目录.
(你也可以设置一个单独的仓库,它会自动更新并推送更改,但是你失去了从你的用户群中合并分叉和修复的机会,我想这就是重点.)
更长版本: Wo"新"分布式版本控制系统(Git,Mercurial,Bazaar等)不是以与SVN和CVS相同的方式围绕每个文件夹签出构建的.将分支树与目录树分开可以简化处理分支并在修订图中进行合并,因为这些比集中式VC更多.(SVN,IMO,处理分支和合并就像一个大锤处理打开一堆垃圾邮件,其中很大一部分原因是层次结构中的任何目录都可以分支/合并).
部分检出功能很容易在集中的情况下提供,你不分支/合并,因此在时间的早期流行.你不再那样了,并且可能会因为没有它而学会感恩.:)
因此,拥有重要内容的一些子目录/子模块更容易.虽然分支顶级仓库稍微复杂一些,但您需要考虑如何设置以便于您使用.(也许发布演示幻灯片并不是那么糟糕?:)