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

How do I make a pull request using EGit?

我有一个本地主分支,我想创建一个拉取请求,其中包含其他人拥有的回购协议。当我尝试 "push branch" 时,我得到以下文本:"can't connect to any URL: https://github.com/jleclanche/fireplace: git-receive-pack not permitted"

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

这些是分叉存储库、进行更改并最终打开拉取请求以将更改合并回原始存储库的必要步骤。

  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 上,导航到分叉页面。您应该在那里看到一条消息,指示已创建一个新分支和一个用于创建拉取请求的按钮。单击此按钮。在下一页,您可以提供更多信息并最终确认拉取请求的创建。

为了使用对原始存储库所做的更改,您需要将其作为 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. 在 Eclipse 中创建一个本地分支(Team -> Switch to -> New branch...,使用默认值)并处理它。最后,将分支推送到 GitHub 存储库。
  2. 转到 github.com 上的存储库。
  3. GitHub 通常会识别出您已推送一个分支并提供 直接创建拉取请求的选项。或者,您应该能够从“拉取请求”选项卡创建拉取请求。

如果您从 Eclipse 提交了更改,但由于冲突,您无法获得 Pull Request,因此请执行以下步骤以从 git bash 命令

获取 pull req
  1. git状态

  2. git 结帐开发机器人

  3. git 日志 [检查您的提交是否存在]

  4. git拉

  5. git结帐

  6. git rebase 开发机器人

  7. git push -u -f origin