繁体   English   中英

如何将旧提交克隆到新仓库中?

[英]How do i clone an old commit into a new repo?

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

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

您可以使用git archive

git archive --format=zip --prefix MyNewProj/ <oldcommit> -o ../basicproject.zip
cd ..
unzip basicproject.zip
cd MyNewProj
git init

这将在commit <oldcommit>处为所有跟踪的文件(不会被忽略,如二进制文件)创建一个zip存档。 然后,您可以将其解压缩到新项目中。

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

git checkout -b topic <oldpoint>

请注意,使用zip格式可能会有问题上非常大的回购,这取决于所使用(特别是在Windows)的解压本站软件。
这就是git 2.6(Q3 / Q4 2005)解决的问题:

参见RenéScharfe的commit 88329cacommit 0f747f9commit 19ee294 (2015年8月22日)。
建议:Johannes Schauer。
(由Junio C gitster - gitstercommit 565f575中合并 ,2015年9月1日)

archive-zip :支持超过65535个条目

通过在通常的“中央目录记录结尾”(仅包含16位字段)之前编写“中央目录记录的zip64结尾”(带有条目数的64位字段)来干净地支持65535个以上的条目。 。
InfoZIP的zip相同。
条目数为65535或更少的存档不受影响。

提取所有文件(例如InfoZIP的zip和7-Zip)的程序会忽略该字段,并且可能已经提取了所有文件。
依靠ZIP文件目录来快速显示包含文件列表以模拟到普通目录的软件(例如Windows的内置ZIP功能)只能看到其中一部分文件

自Vista开始, Windows就支持ZIP64

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM