在日常处理 GitHub 上外部贡献者提交的 PR 时,可能会想将 PR 对应的代码 checkout 到本地, 这里涉及到如何快速 checkout PR 所在 fork 仓库的分支代码。
通常我们可能会通过 git clone 对应的 fork 仓库来实现,但是其实还有一个更便捷、不需要切换目录进行 clone 的方法。
我们可以通过下面的方法实现快速 checkout PR 对应的 fork 仓库分支代码的需求:
git fetch origin pull/<ID>/head:<BRANCHNAME> git checkout <BRANCHNAME>
实际使用时,需要将上面命令中的 <ID> 替换为对应的 PR ID,需要将 <BRANCHNAME> 替换为你想在本地新建的分支名称。 下面是一个实际使用的示例(将 ID 为 47 的 PR 代码 checkout 到本地的 pr47 分支中):
$ git fetch origin pull/47/head:pr47 remote: Enumerating objects: 10, done. remote: Counting objects: 100% (10/10), done. remote: Compressing objects: 100% (10/10), done. remote: Total 10 (delta 4), reused 3 (delta 0), pack-reused 0 Unpacking objects: 100% (10/10), 3.25 MiB | 862.00 KiB/s, done. From github.com:mozillazg/XXXX * [new ref] refs/pull/47/head -> pr47 $ git log pr47 $ git checkout pr47 Switched to branch 'pr47'
Comments