【发布时间】:2020-10-13 15:21:24
【问题描述】:
我有两个存储库(我们称它们为 oldrepo1 和 oldrepo2)。这两个存储库在其当前历史记录中分别有 20k 和 21k 次提交。我将它们合并到一个新的仓库中,每个都在一个子目录下:
newrepo/oldrepo1
newrepo/oldrepo2
我已经使用这些命令来填充新的 repo
git subtree add --message="Migrate oldrepo1" --prefix=oldrepo1 <oldrepo1 url> master
git subtree add --message="Migrate oldrepo2" --prefix=oldrepo2 <oldrepo2 url> master
当我进入 newrepo 的根目录并运行“git --no-pager log --graph --oneline”时,正如预期的那样,我得到了 41k 次提交,但是如果我深入到下面的任何级别并运行 git log我得到的只是“迁移 oldrepoX”提交:
例如,我有一个文件在原始 repo 中有 60 处更改,但是当我在新 repo 中的同一个文件上运行 git log 时,我得到的只是:
commit <commitid>
Author: Me <me@myselfandi.com>
Date: Fri Sep 18 23:17:28 2020 -0700
Migrate oldrepo1
git-subtree-dir: oldrepo1
git-subtree-mainline: <somecommitid>
git-subtree-split: <somecommitid>
我在迁移时没有压缩任何历史记录,为什么我在新的 repo 中看不到这个文件的 60 次提交?
【问题讨论】:
标签: git git-subtree