如何在git中构建旧项目';什么是历史?

如何在git中构建旧项目';什么是历史?,git,Git,我有一个项目,我想把它放到Git上。我们有很多项目的老“zip”快照,可以用来创建假定历史沿袭的基础,加上一些甚至更老的片段,许多我仍然需要“找到”,我仍然想添加到我构建的历史中 立即从较新的ZIP[copy,commit,copy,commit,…]等创建一个血统并不难,但是如何回顾性地移植(?)旧的历史呢?我希望历史记录看起来像是按时间顺序输入的,因此可能需要某种形式的重写 由于团队规模非常小,而且位于同一地点,我们可以轻松地处理从草稿版本到“适当”版本的转换,因此这是一个实际的练习,在每个

我有一个项目,我想把它放到Git上。我们有很多项目的老“zip”快照,可以用来创建假定历史沿袭的基础,加上一些甚至更老的片段,许多我仍然需要“找到”,我仍然想添加到我构建的历史中

立即从较新的ZIP[
copy,commit,copy,commit,…]等创建一个血统并不难,但是如何回顾性地移植(?)旧的历史呢?我希望历史记录看起来像是按时间顺序输入的,因此可能需要某种形式的
重写

由于团队规模非常小,而且位于同一地点,我们可以轻松地处理从草稿版本到“适当”版本的转换,因此这是一个实际的练习,在每个人都开始使用git后,就可以开始使用,并精细化“仍然需要查找”的部分(我宁愿我们使用git,等待找到足够的“历史记录”;-)


所以问题是,我如何追溯早期历史,然后重新编写整个回购协议,这样就不会出现嫁接?我知道这将重写所有提交SHA1 ID。

git-rebase-I
(交互式rebase)允许您进行许多有用的历史修改。只需注意,这样做会弄乱任何人在重新设置基础之前创建的分支,导致所有人也重新设置这些分支的基础。

您可能需要执行此处描述的操作:


但是将
--date
选项添加到
git commit
中,这样它就可以设置来自zip文件的任何日期。

从这个角度来看,我从来没有想过要使用rebase。我感觉到另一个手册页的重读即将到来。我跟随了其他几个链接,我认为在这种情况下,我将使用git过滤器分支方法(假设我理解了它的手册页!)一次性完成重新编写(无需交互),在我完成“嫁接”之后。这看起来像是建立初始回购协议的一个。我可能会加入几个合并点,因为我们有V0、V1、V2、V3‘分支’。接下来是整理pre-V0(它是Matlab.m文件)的移植阶段。又来了,但不一样。。你的链接看起来不错[+1+1]。它告诉我如何为每个版本构建提交序列。然后,我可以将版本序列作为分支与“合并”一起移植到“主版本”上。我仍然需要“找到”matlab.m文件中的旧历史记录,我可以像添加版本0分支一样添加它(使用相同的方法)。我额外的愿望是git可以像读取git(git_DIR)目录一样读取zip文件。