Git 如何将旧的提交克隆到新的回购中?

Git 如何将旧的提交克隆到新的回购中?,git,bitbucket,atlassian-sourcetree,Git,Bitbucket,Atlassian Sourcetree,我使用git跟踪项目中的更改。前几次提交都是关于设置环境,包括一堆插件以获得一个简单的框架 如何从现有项目的一个旧提交开始启动新项目?您可以从任何旧点创建分支: git checkout -b topic <oldpoint> git签出-b主题 您可以使用git archive: git archive --format=zip --prefix MyNewProj/ <oldcommit> -o ../basicproject.zip cd .. unzip bas

我使用git跟踪项目中的更改。前几次提交都是关于设置环境,包括一堆插件以获得一个简单的框架


如何从现有项目的一个旧提交开始启动新项目?

您可以从任何旧点创建分支:

git checkout -b topic <oldpoint>
git签出-b主题

您可以使用git archive:

git archive --format=zip --prefix MyNewProj/ <oldcommit> -o ../basicproject.zip
cd ..
unzip basicproject.zip
cd MyNewProj
git init
git archive--format=zip--前缀MyNewProj/-o../basicproject.zip
光盘
解压缩basicproject.zip
cd MyNewProj
初始化

这将在提交时创建所有跟踪文件(不是任何被忽略的文件,如二进制文件)的zip存档。然后,您可以将其解压缩到新项目中。

请注意,根据所使用的解压缩软件(尤其是Windows),在非常大的回购中使用zip格式可能会有问题。
这就是git 2.6(2005年第3季度/第4季度)所解决的问题:

见勒内·沙尔夫(2015年8月22日)。
推荐人:Johannes Schauer.
(于2015年9月1日合并)

存档zip
:支持超过65535个条目 通过在通常的“中央目录结束记录”(仅包含16位字段)之前写入“zip64中央目录结束记录”(带有64位字段表示条目数),干净地支持65535条以上的条目。
InfoZIP的zip也有同样的功能。
条目数为65535或更少的存档不受影响

提取所有文件(如InfoZIP的zip和7-zip)的程序忽略了该字段,并且可以提取所有文件。
依赖ZIP文件目录显示所包含文件列表的软件 快速模拟普通目录的文件,如Windows的内置ZIP功能,只看到包含文件的一个子集

窗户


在这里,这应该无关紧要,除非提交非常大。

太棒了!只是工作。谢谢