将合并信息添加到Git历史记录

时间:2020-01-31 13:43:47

标签: git svn git-merge

在我们公司中,我们曾经使用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中进行的。出于我不知道的原因,Git将提交3识别为合并,而提交5则不是。我想知道是否有一种方法可以告诉Git提交5也是合并提交。

1 个答案:

答案 0 :(得分:0)

是的,希望您可以使用Tagging

不过,在迁移之后,您需要确保git中没有进一步的提交。

从上一次提交开始,您可以按照以下命令进行操作

git tag -a SVN -m "Migration commit"
git push origin --tags

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

git tag

您也可以随时签出该提交,直到标签存在。