将合并信息添加到 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
您还可以在标记出现之前随时签出该提交。
我们公司以前用的是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
您还可以在标记出现之前随时签出该提交。