复制git项目时如何重新连接历史记录?
我有一个从另一个Git项目复制的Git项目。它只是一个文件复制和提交,所以它没有复制历史记录。我已经从以前的文件导入了提交,但是它们没有连接到文件的新版本。因此,如果我查找两个repo中存在的文件的历史记录,历史记录只会出现在我复制项目时 我尝试签出旧项目的最后一个版本,git合并了新项目的第一个版本。然后我合并成了大师。这使得项目的git历史看起来是正确的,但每个人的文件历史都是不变的 这几乎就像我们想要删除上面写着“创建所有这些文件”的修订版,而不是预先添加旧项目的历史记录 这在Git中是可能的吗 预编旧项目的历史记录。这在Git中是可能的吗 那应该是可能的 它使用了中描述的复制git项目时如何重新连接历史记录?,git,github,Git,Github,我有一个从另一个Git项目复制的Git项目。它只是一个文件复制和提交,所以它没有复制历史记录。我已经从以前的文件导入了提交,但是它们没有连接到文件的新版本。因此,如果我查找两个repo中存在的文件的历史记录,历史记录只会出现在我复制项目时 我尝试签出旧项目的最后一个版本,git合并了新项目的第一个版本。然后我合并成了大师。这使得项目的git历史看起来是正确的,但每个人的文件历史都是不变的 这几乎就像我们想要删除上面写着“创建所有这些文件”的修订版,而不是预先添加旧项目的历史记录 这在Git中是可
git嫁接
,但旧的答案可能会从最近的答案中受益。请参见“”在我看来,您可以用一个相当简单的方法重建历史:
old
和new
old/master
创建一个新分支git cherry pick first..new/master
其中first
是新回购中第一次提交的SHA1(您可以使用git log new/master
找到它,然后按G
跳到末尾)
。和往常一样,提交日期和作者将被保留