93

如何从现有的本地克隆仓库提交拉取请求?

通常,我想从 github 上查看一些库源代码,所以我克隆了它。后来,我发现代码存在一些问题,并在邮件列表中提出,通常是顺便提一下。图书馆作者说“很好,你能发送一个拉取请求吗?”。

答案是“没那么容易”。我还没有分叉回购,我已经克隆了它。而且我似乎找不到从克隆仓库提交拉取请求的方法?

如果这个限制是真的,感觉明智的反应是分叉任何你看过的东西,这样如果你想贡献,你就可以。这会让你的 github 帐户充满许多不活跃的分叉。

似乎没有太多谈论这个问题 - 我是这个问题影响的唯一人吗?

4

3 回答 3

64

在 GitHub 上 fork 存储库,然后将您的 fork 存储库作为远程添加到本地克隆副本:

git remote add myfork https://github.com/<myGitHubAccountName>/<repoName>.git

然后你可以推到你的叉子:

git push myfork master

如果你做的不仅仅是这一个拉取请求,你可以删除origin远程并将你的 fork 命名为 origin:

git remote rm origin
git remote add origin https://github.com/<myGitHubAccountName>/<repoName>.git

这通常是我所做的。有时我会添加原始来源,upstream因此我仍然可以参考它。

于 2013-02-16T02:13:01.490 回答
10

如果您可以在路径中安装另一个二进制文件,github 发布了一个不错的小工具,名为hub.

如果你克隆了别人的仓库:

$ hub fork  # This creates a fork and adds your repo as a remote

$ git push YOUR_USER feature  # push the changes to your new remote

$ hub pull-request  # will open your browser
于 2016-08-27T23:43:47.693 回答
0

我也总是克隆而不是叉子,以下步骤对我有用:

  1. 在克隆的 repo 上创建一个新分支并进行新的更改。
  2. 将更改推送到您的分支,如下所示:

    git push origin insert_your_working_branch_name

  3. 现在您应该能够在来自 github master 的 pull request 中找到您的工作分支。

于 2019-10-14T18:14:23.050 回答