将合并信息添加到 Git 历史

Adding merge info to Git history

我们公司以前用的是SVN。开发者曾经保留每个分支以保留提交的历史,因为当分支被删除时它会丢失,即使它被合并到主干。

大约一年前,幸运的是我们切换到 Git。大部分迁移进行得很顺利,但在我们的一些回购协议中,缺少分支合并的信息。但是,并非所有分支机构都适用。我认为这发生在 SVN 合并不是在根目录上而是在子目录中,恕我直言,这是非常混乱的。

不,我们有几个旧分支悬而未决,我们无法删除,因为我们不想丢失提交历史记录。实际代码已合并,但 Git 不知道。有没有办法将某种合并信息添加到 git 历史记录中的提交?

例子

我的 SVN 存储库如下所示:

Trunk   ---[1]---------[3]---------[5]
Branch1      \---[2]---/           /
Branch2       \--------------[4]--/

但是迁移后的 Git 存储库如下所示:

Master  ---[1]---------[3]---------[5]
Branch1      \---[2]---/
Branch2       \--------------[4]---

原始 SVN 存储库中的合并是在提交 3 和 5 中进行的。由于我不知道的原因,提交 3 被 Git 识别为合并,而提交 5 不是。我想知道是否有办法告诉 Git 提交 5 也是合并提交。

是的,希望您可以通过 Tagging

实现这一目标

但是在迁移之后,您需要确保没有来自 git 的进一步提交。

从上次提交开始,您可以按照

这样的命令
git tag -a SVN -m "Migration commit"
git push origin --tags

您可以使用以下命令进行检查,

git tag

您还可以在标记出现之前随时签出该提交。