我有我的Git存储库,它的根目录有两个子目录:
/finisht
/static
在SVN中时,/finisht
在一个地方/static
签出,而在其他地方签出,就像这样:
svn co svn+ssh://[email protected]/home/admin/repos/finisht/static static
有没有办法用Git做到这一点?
编辑:从Git 2.19开始,这最终是可能的,如该答案所示。
考虑提高答案。
注意:在Git 2.19中,仅实现了客户端支持,仍然缺少服务器端支持,因此仅在克隆本地存储库时有效。还要注意,大型GitHub托管者(例如GitHub)实际上并不使用Git服务器,而是使用自己的实现,因此,即使在Git服务器中显示了支持,也不意味着它会自动在Git托管者上运行。(OTOH,由于他们不使用Git服务器,因此可以在自己的实现中更快地实现它,然后再将其显示在Git服务器中。)
不,这在Git中是不可能的。
在Git中实现这样的工作将是一项巨大的工作,这将意味着不再能够保证客户端存储库的完整性。如果您有兴趣,请在git邮件列表上搜索有关“稀疏克隆”和“稀疏访存”的讨论。
通常,Git社区的共识是,如果您有几个始终独立检出的目录,则它们实际上是两个不同的项目,应该位于两个不同的存储库中。您可以使用Git子模块将它们重新粘合在一起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句