Github拉请求问题

我有以下情况:

  • 我的Github默认分支是“开发”
  • 我有三个“开发”分支的拉请求
  • 建立并验证3个请求(由CI服务器)
  • 然后将一个拉取请求手动合并为“开发”。 '$ bumpversion --commit dev'会自动执行,并且版本将被构建并发布。 因此,包含版本在“开发”(.bumpversion.cfg,module / __ init__.py)上更改的所有文件
  • 到现在为止还挺好。 现在,由于“开发”中的变化,剩下的两个请求变得无效,无法再通过Github GUI进行合并。 我需要检查分支并与“开发”合并,就像@Anirudha详细描述的那样。
  • 我不希望我的pull请求通过对这两个文件的更改而变为无效
  • 我相信解决方案对于知道如何解决这个问题的git专家来说是显而易见的。 到目前为止,我无法找到它,所以请分享。


    我建议你为这种情况做一个git rebase

    Git Rebase官方文档

    它做的是,结账到分支时指定,同时进行rebase,让我们说你有PR#2和PR#3悬而未决,你克隆回购,并在产生PR的分支,

    git rebase develop
    

    它会说改革,所以,你去解决这个过程中的冲突,并做一个

    git add
    

    现在,如果没有更多的冲突,基准将继续或停止。 如果你有,你可以在终端阅读状态,继续,

    git rebase --continue
    

    现在,直到所有冲突得到解决。

    最后,当你结账到该分支时,你应该看到没有冲突,并且分支可以自动合并(显然推送到远程回购)。

    现在,为PR#3重复相同的过程,就完成了。

    综上所述,

    git rebase develop
    git add <files>
    git rebase --continue
    

    重复这个pr#3也。


    你所需要做的就是检查那些请求: git checkout PR1

    开发分支的最新变化。 git pull origin develop

    查看您的相应更改。 并推送到您的各自的公关。 git远程公共关系获得更新,新的更改也将相应地批准。


    您应该考虑在您的代码中删除版本信息,并且只有在您确实释放或部署应用程序时才注入它。

    通过这种方式,您的源代码不会因为版本更改而继续变脏。

    当然,你希望git检查更改并告诉你何时发生冲突。 我建议你使用另一种解决方案,这样不会发生冲突,合并将变得简单。 (通读我的整篇文章以获得完整的解决方案)

    部分解决方案在你的情况

    而不是有一个明确的版本有相对版本号。

    我的意思是这样的:有一个发布说明文件。 每次有人提出拉取请求时,他都会在该文件中添加一行。 该文件看起来像这样:

    1.0.0 Added a major breaking change
    0.1.0 Added a feature
    0.0.1 Added a bugfix
    1.0.0 Another major change
    0.0.1 Bugfix
    0.0.1 Another bugfix
    

    在发行版中,您可以通过以下任一方式

  • 总结:2.1.3
  • 或更大更改后重置:2.0.2(适当的semver)
  • 警告

  • 第二种选择:它接受拉取请求的顺序很重要。 (可能会导致不同的版本号)
  • 也许git仍然希望合并相同的行(而不是将它们添加到彼此之下),这仍然会导致冲突。
  • 优点

  • 不再需要担心正确的版本号
  • 开箱即可获得发行说明
  • 解决冲突

    不要将所有版本注释放在一个文件中:让人们按照以下语法为每个文件编写一个版本注释:[yyyy-mm-dd] [1.0.0.0(semVerFix)] [关于更改/修复的信息说明]

    / 问题在于,如果您在旧版本之前接受更新的pull请求,并且在同时继续进行整合,则版本控制可能最终会出错。

    最终解决方案

    在你的git仓库中。

    有一个名为`/ release-notes'的文件夹

    如果有人进行了更改,则必须在此处添加文件,说明所做的更改(最好是同时处理一个功能或修复)。

    此文件格式如下[日期] [ 2016-10-26 1.0.0.0 Added new versioning tooling.txt ] [说明]。[可选文件扩展名]例如: 2016-10-26 1.0.0.0 Added new versioning tooling.txt

    只要日期和描述是唯一的,您就不会产生冲突 ,除非已更改的代码包含冲突。

    你的作业:制作工具读取这些文件并累积版本号。 您还可以阅读文件的内容并将其用作发行说明的说明。

    链接地址: http://www.djcxy.com/p/68535.html

    上一篇: Github pull request issue

    下一篇: Github Pull Request Checks