【问题标题】:VSTS GIT - PR from master -> devVSTS GIT - 来自 master -> dev 的 PR
【发布时间】:2017-08-02 13:48:18
【问题描述】:

每当我在 VSTS git 集成中将主分支合并到开发分支(或副分支)时,我都会看到已经合并的相同更改。因此,例如今天早上我将更改从 master 合并回 development。合并,然后再次创建从 master 到 development 的另一个 PR,这些相同的更改再次显示在 PR 中。现在分支之间不应该没有变化吗?

我不确定我做错了什么,或者哪些屏幕截图在这里可能会有所帮助。

【问题讨论】:

    标签: git azure-devops azure-pipelines


    【解决方案1】:

    master合并到development分支完成后,再将development分支合并回master分支,两个分支的代码相同。

    假设将master分支合并为development分支后的分支结构如下图:

    A---B---C---D---H   development
         \         /
          E---F---G     master
    

    然后,如果您创建另一个 PR 以通过 VSTS 将 development 合并回 master,VSTS 将默认使用创建另一个提交作为下图中的提交 I,而不是使用提交 H,即使它是快进合并(git merge master --no-ff):

    A---B---C---D---H      development
         \         / \
          E---F---G---I    master
    

    但这不影响master 分支与development 分支同步。

    如果您希望master 分支指向与development 分支相同的提交(如下图中的H):

    A---B---C---D---H   development, master
         \         / 
          E---F---G
    

    你可以将development本地合并到mastergit checkout mastergit merge development),然后将本地master推送到远程,那么development分支和master分支都会指向同一个提交H.

    【讨论】:

    • 我认为这可行,但我认为我发现的问题是它默认为压缩合并,因此它会将我的所有提交合并为一个。当我再次进行合并时,它不会了解所有单独的提交,因此它会尝试再次将它们引入。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 2017-07-31
    • 2018-07-29
    • 1970-01-01
    • 2016-11-28
    • 2014-12-17
    • 2021-09-01
    相关资源
    最近更新 更多