【问题标题】:Git vs SVN: can I have single change in history for several branches?Git vs SVN:我可以对多个分支的历史进行单一更改吗?
【发布时间】:2010-09-03 13:26:56
【问题描述】:

我们必须保留 2 个产品版本。现在,必须将每个版本中的一些更改向后移植到另一个版本。

在 SVN 中,如果我对版本 1 进行了“更改”,我会将此修订版合并到版本 2 并给出如下评论:“Merged 'change' from v1”。

这在很多方面都很尴尬。如果我合并几个更改,那就更糟了。

在我“合并”1v1 成为第二个分支的一部分之后,git 能否帮助我将单个更改提升到两个分支,以便修订注释、日期、所有内容都属于两个版本的一个提交?

【问题讨论】:

    标签: svn git branch


    【解决方案1】:

    据我所知,Git 不允许单个提交影响多个分支。

    但是关于 Git 的一个有趣的方法是,它不仅仅在合并时将补丁从一个分支应用到另一个分支。当你将一个分支的提交合并到另一个分支时,Git 实际上会在分支之间保存提交消息。

    所以当你使用 Git 合并命令时,所有的提交信息都会被保存:提交的作者、提交信息、日期,甚至是提交 ID。所以所有关于提交的信息在合并时都会被保留。

    【讨论】:

    • 我问的不是提交到多个分支,而是关于“在分支之间保留提交消息”。那么git可以做到这一点吗?它保持相同的提交 ID、时间等?
    • 是的,我认为这是默认行为。我编辑了我的回复,希望这是对您原来问题的更好回答。
    • 好的,所以我接受答案,我没有要求示例或操作方法,只是为了确认这个想法;-)
    • 进一步了解您已有的答案:在 Git 中,提交不是树的状态,它是两棵树之间的增量。相同的增量可以应用于不同的分支,因此您可以在多个分支中获得相同的提交。我定期使用它来保持存储库的线性化(SVN 视图)和“真实”的基础历史记录。
    猜你喜欢
    • 2021-09-03
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2017-02-07
    • 2015-07-24
    • 2018-02-20
    相关资源
    最近更新 更多