如何使用EGit发出拉取请求?

时间:2016-04-26 00:08:32

标签: eclipse git github open-source egit

我有一个本地主分支,我想用其他人拥有的repo创建一个pull请求。当我尝试“推分支”时,我收到以下文字:“无法连接到任何网址:https://github.com/jleclanche/fireplace:git-receive-pack不允许”

我猜我在这里做的事实上是在尝试合并,而不是提出请求。我该怎么做?

2 个答案:

答案 0 :(得分:6)

这些是分叉存储库,进行更改并最终打开pull请求以将更改合并回原始存储库所需的步骤。

  1. 在GitHub上,导航到存储库页面,然后点击页面右上角的Fork按钮

  2. 将分叉存储库的URL复制到create a local clone in EGit

  3. 我建议以your-name/issue-name的形式创建一个新分支。在单独的分支上工作可以提供更好的监督,并有助于并行处理多个拉取请求。

  4. Make one or more commits应该以拉取请求结束。

  5. Push对分叉存储库的这些更改。

  6. 在GitHub上,导航到fork的页面。您应该在那里看到一条消息,指示已创建新分支以及用于创建拉取请求的按钮。单击此按钮。在下一页上,您可以提供更多信息,最后确认拉取请求的创建。

  7. 为了使用对原始存储库所做的更改,您需要将其作为remote添加到本地克隆。

    您甚至可能希望重命名远程数据库,以便分叉存储库(您要推送的存储库)名为fork,而原始存储库使用默认名称origin

    例如:

    [remote "fork"]
      url = git@github.com:your-name/forked-repo.git
      fetch = +refs/heads/*:refs/remotes/fork/*
    [remote "origin"]
      url = git@github.com:user/originating-repo.git
      fetch = +refs/heads/*:refs/remotes/origin/*
    

答案 1 :(得分:0)

在此答案中,我假设您对所涉及的项目具有提交权限,但仍要创建拉取请求。在这种情况下,不必分叉存储库。

  1. 在Eclipse中创建一个本地分支( Team->切换到-> New branch ... ,使用默认值)并对其进行处理。最终,将分支推送到GitHub存储库。
  2. 转到github.com上的存储库。
  3. GitHub通常会识别出您已推送了一个分支并提供了 直接创建拉取请求的选项。另外,您应该能够从“拉取请求”标签中创建拉取请求。