Git 子树添加不显示添加文件的每个文件历史记录...正确的行为?

Git subtree add does not show per-file history on added files... correct behaviour?

我以前从未使用过 git subtree,但我正在尝试将 git 存储库迁移到我的代码存储库中,如下所示:

C:\code>git subtree add -P database/scripts c:\git\other-repo HEAD -m="Migrate from other-repo"

我没有收到任何错误,我可以看到所有提交都合并到我的历史记录中,而且我可以看到合并历史提交的差异但是 当我试图查看合并到(在 TortoiseGit 中)的单个文件的日志时,它只显示一个提交,而不是 other-repo 中的几十个。文件的提交历史未显示,即使我可以看到提交和差异 存在于存储库历史

我无法截取提交内容,但由于我没有使用 --squash 我想知道这是否符合预期。我是不是误解了子树的工作原理?

在该合并提交期间,文件也得到“重命名”:原存储库中位于 that/file.sql 的文件现在位于 database/scripts/that/file.sql.

尝试 运行 :

git log --graph -- database/scripts/that/file.sql that/file.sql

您应该会看到触及两个位置的提交。


git log 还有一种默认情况下不处理合并提交的方法;以下选项组合似乎适用于我的机器:

# '--cc' is one of the options that tell git log to inspect the content of merge commits
git log --cc --follow --graph -- database/scripts/that/file.sql