codecamp

GitHub 将更改提交到从复刻创建的拉取请求分支

在拉取请求创建者的许可下,您可以在从仓库复刻创建的拉取请求分支上提交更改。

在拉取请求分支上进行提交必须满足以下条件:

  • 该拉取请求分支在您拥有推送权限的仓库中打开,并且是从仓库的复刻创建的
  • 在用户拥有的复刻上
  • 拥有拉取请求创建者授予的许可
  • 没有阻止您提交的分支限制

只有创建拉取请求的用户才能授予您向用户拥有的复刻推送提交的权限。 更多信息请参阅“允许更改从复刻创建的拉取请求分支”。

注:还可以通过创建自己的仓库复刻副本(或复刻)并将更改提交到创建原始拉取请求更改的头部分支,从而通过 GitHub 向仓库复刻的拉取请求分支进行提交。 有关一些一般准则,请参阅“从复刻创建拉取请求”。

  1. 在 GitHub 上,导航到创建拉取请求分支的复刻(或仓库副本)的主页面。

  1. 在文件列表上方,单击 downloadCode.

  1. 要使用 HTTPS 克隆仓库,在“Clone with HTTPS(使用 HTTPS 克隆)”下单击 save要使用SSH密钥(包括组织的SSH证书颁发机构颁发的证书)克隆存储库,请单击Use SSH,然后单击save.

The clipboard icon for copying the URL to clone a repository

  1. 打开 Git Bash。

提示:如果要使用 GitHub Desktop 克隆复刻,请参阅“将仓库克隆到 GitHub Desktop”。

  1. 将当前工作目录更改为要下载克隆目录的位置。

   $ cd open-source-projects

  1. 键入 git clone,然后粘贴在第 3 步中复制的 URL。

   $ git clone https://github.com/USERNAME/FORK-OF-THE-REPOSITORY

  1. Enter 键。 将创建您的本地克隆。

   $ git clone https://github.com/USERNAME/FORK-OF-THE-REPOSITORY
    > Cloning into `FORK-OF-THE-REPOSITORY`...
    > remote: Counting objects: 10, done.
    > remote: Compressing objects: 100% (8/8), done.
    > remove: Total 10 (delta 1), reused 10 (delta 1)
    > Unpacking objects: 100% (10/10), done.

提示:错误消息“致命错误:目标路径 'REPOSITORY-NAME' 已存在并且不是空目录”表示您当前的工作目录已包含同名仓库。 要解决此错误,必须将复刻克隆到另一个目录中。

  1. 导航到新的克隆仓库。

   $ cd FORK-OF-THE-REPOSITORY

  1. 将分支切换到进行原始更改的拉取请求的比较分支。 如果您导航到原始拉取请求,您将在拉取请求的顶部看到比较分支。

比较分支示例

在此例中,比较分支为 test-branch

$ git checkout test-branch

提示:有关拉取请求分支的更多信息,包括示例,请参阅“创建拉取请求”。

  1. 现在,您可以使用此分支执行任何操作。 您可以向其推送新提交、运行一些本地测试或将其他分支合并到其中,包括 master。 根据需要进行修改。

  1. 在更改提交到拉取请求的头部分支后,您可以将更改直接推送到原始拉取请求。 在此例中,头部分支为 test-branch

    $ git push origin test-branch
    > Counting objects: 32, done.
    > Delta compression using up to 8 threads.
    > Compressing objects: 100% (26/26), done.
    > Writing objects: 100% (29/29), 74.94 KiB | 0 bytes/s, done.
    > Total 29 (delta 8), reused 0 (delta 0)
    > To https://github.com/USERNAME/FORK-OF-THE-REPOSITORY.git
    > 12da2e9..250e946  test-branch -> test-branch

您的新提交将反映在 GitHub 上的原始拉取请求中。

延伸阅读

GitHub 更改拉取请求的基本分支
GitHub 关于合并冲突
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }