-->

一个GitHub的项目的克隆部分[复制](clone parts of a github proje

2019-08-31 23:20发布

可能重复:
有什么办法只克隆一个Git仓库的子目录?

我试图克隆GitHub的项目的一部分,但我只能得到根文件夹。 这是第一次我尝试使用github上,我刚装tortoisegit,使用SVN和CVS在那里你可以只是把你想签一个文件夹的IM,但它似乎混帐只得到了在根文件夹中的.git文件,以便即时通讯不知道该怎么办。

Answer 1:

还有就是子树合并。

但这里是一个更容易,但部分解决方案,也许是你的需求不够好。 刚叉并定期合并回去

  1. 叉(克隆)的存储库
  2. 删除你不需要的部分和移动子文件夹,你就需要在那里
  3. 承诺

在未来,当你想同步备份与上游的Git代码,只需用叉子合并。 你不停地将同步备份与来自上游的,你可能有一些小的清理做这些文件很容易从看到git status



Answer 2:

在Git的社区你想要什么是所谓的“局部结账”。 它目前不支持在Git中,但它在邮件列表中每过一段时间出现。 Git有位,并支持部分结算所需要的内部件,但没有简单的方法来利用它们为用户。 我猜想,Git会最终能够做到部分检出的,但是在它发生之前,可能需要一段时间。

除了JHS的答案 (子树合并; RM,MV,提交合并),还有一个第三方“树”的命令 ,这可能有助于使其更容易与部分结账工作。 虽然这不是它的主要目标,因此它并不明显如何使用它与部分结账工作。 如果你已经知道了Git的不够好,你可以工作了,但如果你是新来的Git,此子树命令将可能是相当不透明。

最后,如果你想要做的就是下载最新的文件,您可能能够使用git archive下载特定的分支或标记的tar文件(或任何提交-ISH) 。 这可能不与GitHub的工作(这取决于服务器配置),我没有检查。 即使它不直接工作,你可以复制到自己的“裸装”,镜子回购,然后从该拉(子树)档案。



Answer 3:

这是不是真的,你在Git中做一些事情。 请记住,您使用的是DVCS,所以你拉低整个仓库历史 - 什么是应该发生到改变你拉下目录以外的文件提交?

如果项目足够大,那么无论回购你克隆应该使用子模块瓜分部分,使开发人员可以只拉下他们想工作的领域的维护者。

Git的(当然,DVCSs一般)不适合最终用户这么多,因为它是开发者。 我发现的git(特别是在GitHub的组合)是用于编码难以置信的帮助。 如果有在github上一个项目,我想参与,我只是叉它,把它拉下来,hackhackhack,推升,并发送pull请求,easypeasy,而不是进行结帐,黑客创建一个diff,试图找到在哪里可以发电子邮件给,并希望在此之前开发商拿绕到它合并的差异不破。

Git的整体肯定比SVN更加复杂,但那是因为编码是一个复杂的过程。 集中式VCS的工作流程是对我难以置信的痛苦,因为我是在DVCSs长大,我不能做各种各样的,我已经习惯做的事情。 所以,是的,这将是更加复杂,如果你做同样的事情,使用git与SVN,但好处是,有这么 多的更多的东西,你可以做。 Git的是为Linux内核开发研制,它显示了。



文章来源: clone parts of a github project [duplicate]