【问题标题】:How to pull a pull request quickly locally如何在本地快速拉取请求
【发布时间】:2018-10-18 22:12:15
【问题描述】:

在我合并拉取请求之前,我想在本地快速拉取请求并运行测试并测试一些东西。我还不想点击 gihub 合并拉取请求。

我认为滑轮会帮助 http://ejohn.org/blog/pulley/ 。但我收到错误

$ node pulley.js 76

node.js:116
        throw e; // process.nextTick error, or 'error' event on first tick
        ^

还有其他工具可以帮助我快速拉取“拉取请求”吗?

【问题讨论】:

    标签: git github


    【解决方案1】:

    单击“合并拉取请求”栏左侧的(i),它将为您提供所需的命令。


    _______________________________________________________^^^^^^^^^^^^^

    【讨论】:

    • UI 发生了变化。现在是按钮旁边的链接:You can also merge branches on the command line.
    • @Tekkub 这不再像这样工作了。我在下面添加了一个更新的答案。
    【解决方案2】:

    为什么不直接使用下面的呢?

    git remote add -f <test_repo_name> <test_repo_url>
    git checkout -b <branch> <test_repo_name>/master
    ...test as needed
    ...merge if you like it
    

    【讨论】:

      【解决方案3】:

      取自官方 github 页面(2013 年 7 月,但可能会改变):

      第 1 步:检查一个新分支以测试更改 - 从您的项目目录运行它

      git checkout -b otherrepo-develop develop
      

      第 2 步:引入 otherrepos(提交的来源)的更改并测试

      git pull git://github.com/otherrepoauthor/otherrepo.git develop
      

      第 3 步:测试成功后!合并更改并更新服务器

      git checkout develop
      git merge otherrepo-develop
      git push origin develop
      

      【讨论】:

        【解决方案4】:

        来自Github help guide 并假设您的遥控器是来源:

        git fetch origin pull/ID/head:BRANCHNAME
        git checkout BRANCHNAME
        

        【讨论】:

          【解决方案5】:

          只是一个快速的想法,为什么不创建一个本地分支,然后在原始(远程跟踪的)分支上执行拉取操作?

          【讨论】:

            【解决方案6】:

            听起来您正在寻找 fetch 命令

            git-fetch

            从一个或多个其他存储库中获取命名的头像或标签,以及完成它们所需的对象。

            获取的 ref 的 ref 名称及其对象名称存储在 .git/FETCH_HEAD 中。此信息留给 git merge 稍后完成的合并操作。

            在实践中,fetch 从远程存储库中获取所有命名的提交。这意味着当转到 origin 时,origin/master 将被更新以指向 origin 上的最新更改,但您的本地 master 不会合并或更改以反映这些更改。

            我假设您正在(本地)master 上工作,它是 origin/master 的远程跟踪分支。您的分支名称可能不同,但过程仍然相同。

            您现在可以创建一个临时分支来检查 origin/master,方法是:

            git checkout -b temp_branch_name origin/master
            

            这将创建临时分支,该分支现在指向远程存储库上的最新历史记录。

            当您完成测试并想要集成时,您可以这样做

            git checkout master
            git merge origin/master
            

            这将执行正常的合并(就像 pull 所做的那样)或

            git checkout master
            git rebase origin/master
            

            如果您更喜欢重新调整您的更改,以获得线性历史记录。

            【讨论】:

              猜你喜欢
              • 2017-11-11
              • 1970-01-01
              • 2018-03-09
              • 1970-01-01
              • 2012-06-17
              • 2019-02-01
              • 2021-10-12
              • 2021-08-03
              • 2021-07-28
              相关资源
              最近更新 更多