创建对我可以推送到的存储库的拉取请求

Creating a pull request to a repository I can push to

另一个 git 请求请求问题,但我看了很多,none 回答了我的问题。

我在我的机器上有一个 github 回购的分支,比如 A,我是它的贡献者并拥有推送权限。我在 repo 中为 A 分叉并创建了一个拉取请求,然后在本地添加并提交了更多更改到该分支。

现在我想为这些更改创建另一个拉取请求;但是,提交仅保存在本地。我想推送到远程,但是

git remote -v

returns

origin   https://github.com/some_user/repo_a (fetch)
origin   https://github.com/some_user/repo_a (push)
upstream https://github.com/some_user/repo_a (fetch)
upstream https://github.com/some_user/repo_a (push)

所有链接都指向主仓库。我查看了我的存储库列表,那里没有存储库的副本。所以,我无法将原点或上游更改为其他内容。

正如我所说,我想推送新更改并创建拉取请求,但我无法完成。

简而言之,您需要为您的分叉定义正确的 remote 并推送到它。

  1. 在 www.github.com
  2. 上访问你的分叉
  3. 从您的 fork 中获取远程 SSH 或 HTTPS 远程 url:
  4. 在命令行添加新的遥控器

    git remote add myfork REMOTE_URL

  5. 确认新遥控器已通过 运行 您上面提到的命令正确添加。您应该会看到列出的新 myfork 遥控器。

    git remote -v

  6. 将您对这个新远程的提交推送到您想要的任何分支:

    git push myfork [BRANCH_NAME]

GitHub 在这方面也有很好的教程:https://help.github.com/articles/fork-a-repo/#step-3-configure-git-to-sync-your-fork-with-the-original-spoon-knife-repository

问题是我一开始没有远程分支。我去了 REPO 并点击了右上角的 'fork this repo'。这在我的帐户上创建了一个回购副本,这给了我一个 link 来推送。

将上游更改为此 link 后,我可以推送到此 repo,并从中创建拉取请求。