Azure DevOps GIT(gitflow)如何在development分支上强制执行pull request保持最新状态?

时间:2019-03-29 01:05:21

标签: git azure-devops

我试图在我的Azure DevOps托管git存储库中实现类似于工作流的gitflow。我已将CI / CD启用到我的QA服务器,该Q /服务器从完成针对developer分支的请求请求中触发。 同样,在ado方面,我在development上启用了拉取请求分支策略,因此功能分支在没有PR和代码审查的情况下无法直接合并。 除了拉动请求完成后,所有这些工作都将其起源/开发留在本地开发之后。

现在,如果我: git checkout develop 我看到此消息: Your branch is ahead of 'origin/develop' by 11 commits.

因此,在正常情况下,我认为解决方法是: git pushgit push origin-来自develop分支。

但是由于有一个有效的分支策略需要拉请求,所以我不能推。当我尝试推动开发时,收到以下消息: ! [remote rejected] develop -> develop (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.) 好吧,好的,我已经完成了11个到该分支的请求。 知道如何解决这个问题吗?

针对开发的拉动请求应使来源与本地保持同步。

编辑:如评论中所述,我已禁用了强制拉取请求的分支策略。然后我做了一个git push来清理情况。但是这是来自develop的日志,如下所示:

>git log
commit 545319a657801f3c279f727c53aa7d5b9d9f9d6e (HEAD -> develop, origin/develop, origin/master, origin/HEAD, master)
Merge: fe89f0a dad0fa3
Author: Ken Hadden <khadden@mycompany.com>
Date:   Thu Mar 28 18:09:32 2019 -0700

    Merge branch 'master' into develop

commit fe89f0af4a9fe3848880854dbd88e3980e81bdb4
Merge: 9b37a92 c7fe732
Author: Ken Hadden <khadden@mycompany.com>
Date:   Thu Mar 28 12:15:48 2019 -0700

    Merge branch 'develop' of https://mycompany.visualstudio.com/mycompany/_git/mycompany into develop

commit c7fe7329df9d40d0ed6db0ddf9f46ab5173aab85 (tag: 201)
Merge: 2386bbe c3b8468
Author: Ken Hadden <khadden@mycompany.com>
Date:   Mon Mar 25 20:50:07 2019 +0000

    Merged PR 7: Build from PR test 3

commit 9b37a9238f369d0fd939b15446e2598a4b984cda
Merge: d3e27c1 c3b8468
Author: Ken Hadden <khadden@mycompany.com>
Date:   Mon Mar 25 13:41:12 2019 -0700

    test 5

commit c3b8468f49d6426469699dcc19c01fc183823355
Author: Ken Hadden <khadden@mycompany.com>
Date:   Mon Mar 25 13:39:45 2019 -0700

    test 4

commit d3e27c1b6abba1e0978a0c2673ebf5969ced37a0
Merge: 0415cf7 2386bbe
Author: Ken Hadden <khadden@mycompany.com>
Date:   Mon Mar 25 13:37:37 2019 -0700

    Merge branch 'develop' of https://mycompany.visualstudio.com/mycompany/_git/mycompany into develop

commit 0415cf7f790770b9bc9e672a5998e85b0815ed46
Merge: 2ef8b41 6dc753e
Author: Ken Hadden <khadden@mycompany.com>
Date:   Mon Mar 25 13:34:27 2019 -0700

    test 4

commit 6dc753eda1697b84a679d6105d2ef18a7f1d3043
:

1 个答案:

答案 0 :(得分:1)

我的经历类似于@shayki Abramczyk和@Ken Hadden。对我们有用的是:

0.708333333333

然后,我要在Azure Devops中拉取请求,并且可以选择从显示在那里的新分支中创建PR。创建后,如果我将其设置为自动完成,则在批准,构建和测试好它后,它会自动合并到目标分支(在您的情况下为开发)。

完成“ A-DOPS”后,回到我的机器上:

develop>
develop> git checkout -b feature/my-cool-new-feature
feature/my..> "Hello" > newfile.txt
feature/my..> git add -A
feature/my..> git commit -m "Add newfile.txt"
feature/my..> git push -u origin HEAD

我的本​​地开发与远程同步。