代码之家  ›  专栏  ›  技术社区  ›  Yimin Rong

用git或hub命令替换git hub ui序列

  •  3
  • Yimin Rong  · 技术社区  · 8 年前

    目前,我们通过使用github从dev合并并手动执行以下操作来准备qa版本:

    • 转到存储库
    • 请求对回购进行拉取(单击拉取请求)
    • 设置dev与qa的合并(选择左边的qa,右边的dev)
    • 添加注释“将dev合并到qa”并单击create pull请求
    • 我是唯一一个在努力的人,所以不要有任何冲突
    • 创建请求(单击合并请求)
    • 确认拉取请求(单击确认合并)

    有办法这样做吗 git hub ,包括拉请求的记录,所以它可以被脚本化吗?

    3 回复  |  直到 7 年前
        1
  •  2
  •   Hawkins    8 年前

    如果你想这么做 hub 正如你所建议的,你可以简单地:

    • 制作文件 pull_request_template.md 带内容 Merging Dev into QA 。如果愿意,可以向文件中添加更多的行,第一行将作为标题,其余的将作为正文。
    • hub pull-request -F pull_request_template.md -b Dev -h QA | hub merge 同时打开和合并公关

    注意,自 枢纽 是一个替换的掉落 git ,您应该在repo的本地目录的上下文中运行该命令。

    有关这些命令的详细信息,请参阅其文档: hub , pull-request hub-merge .

        2
  •  2
  •   petrpulc    8 年前

    此命令序列一般不建议自动化。

    仅仅是因为当你最不期望的时候,很多事情会出错(或者需要考虑很多情况)。如果你是唯一一个在做这个项目的人,这看起来是可以接受的,但是要记住合并实际上可能会失败。即使你自己在做这个项目。

    此外,拉式请求的原则也有其主要的好处- 代码审查 . 理想情况下,你不应该接受这样的要求,而不检查是否一切都是真实的。因此,我不认为自己有任何理由要这么做;在常规git中创建常规合并提交(并可能添加标记)似乎更合理。

    但如果你真的想…

    发送邮件请求到 https://api.github.com/repos/:owner/:repo/pulls 用JSON:

    {
      "title": "Merging Dev into QA",
      "head": "dev",
      "base": "qa"
    }
    

    创建拉取请求。响应包含在 ['number'] 请求的标识符或获取包含刚创建的请求的uri的“location”头。

    若要合并“拉”请求,请将“放”请求发送到: https://api.github.com/repos/:owner/:repo/pulls/:number/merge

    有关API(以及对API的身份验证)的详细信息,请参见: https://developer.github.com/v3/

        3
  •  0
  •   Payam Khaninejad    8 年前

    我不确定“包括拉请求的记录”(因为它是合并的UL版本),但是我有自己的脚本来释放希望帮助你:

    git checkout dev
    

    切换开发分支

    git fetch https://gitlab.com/xx/xx.git 
    

    在主分支的上游获取更改

    git commit -a -m "changes"
    

    提交本地更改:

    git pull https://gitlab.com/xx/xx.git
    

    从上游获取拉取请求

    git checkout master
    

    现在切换到主分支

    git merge --no-commit --no-ff dev
    

    如果你想做一个审查之前合并使用上述评论如果不删除参数

    git push origin master
    

    将更改推送到主分支

    git reset --merge
    

    如果您想支持这些更改,只需重置合并。

    编辑:可以将blow命令作为bash或shell脚本

    推荐文章