如何将git仓库克隆到一个新项目中?

4
例如,我想使用位于Github上的一些框架。有没有一种方法可以克隆存储库而不包含.git结构?这样我就可以添加新的远程URL并适当地将其推送到自己的存储库中。 编辑 这样做的目的是,我想把一个从Github下载的框架放到我的全新存储库中,而不导入框架存储库中的任何Git数据(如Git日志)。我知道你可以克隆并删除相应的数据或者你可以使用Github的工具下载tarball,但我只是想知道是否有更容易的方法来完成它,比如像git clone这样的单个命令。

根据您对我被删除的问题的评论,我不理解您的问题。为什么您不想要.git结构?为什么您不想使用fork?请提供更多细节。 - cnd
我想将代码库导入为自己的“干净”代码库。就像使用框架一样从头开始。显然,您不希望导入其中包含的git日志。这样,您就可以使用想要使用的全新git代码库和框架开始了。我只是想知道是否有更简单的方法来执行git clone而不是自己使用rm命令。 - Steven Lu
2个回答

3

如果您只想获取存储库的最新内容,而不包含任何Git信息,则tarball是最佳解决方案,并且可以使用单个命令行完成:

curl -L https://github.com/username/reponame/tarball/master | tar zx

或者

wget --no-check-certificate https://github.com/username/reponame/tarball/master -O - | tar xz

即使在Windows上,使用GoW (Gnu On Windows)提供的类Unix命令也可以实现。这样你就可以将新目录添加为自己的一个目录。
注意:子模块更加推荐,但这不是你特别要求的。

评论区中,OP Steven Lu补充道:

我猜这个方法适用于Github,但如果代码库不是在Github托管的呢?

对于任何其它的代码库,你可以使用命令git archive --remote,就像 "git archive和Bitbucket一起使用" 那样所演示的:

例如:

git archive --remote=ssh://git@bitbucket.org/username/reponame.git --format=tar --output="file.tar" master

我猜这对Github来说是可行的,但如果仓库不是由Github托管的,你会怎么做? - Steven Lu
1
@StevenLu git archive --remote: 请参考 https://dev59.com/Z2fWa4cB1Zd3GeqPiI6V#12073669 - VonC
@StevenLu 我已经在答案中包含了另一种解决方案,以增加其可见性。 - VonC

-1

我不确定,但我认为没有.git的方式。@VonC指出你可以通过github方式下载存档。 - cnd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接