0. 概述

在平时使用 Github 代码的时候,可能会有一些项目的某些 PR 是你想要的,但是因为各种原因没有被合并,在这种情况下,我就会自行合并编译出来,本文就介绍一下操作过程。

1. Fork 项目

想要拥有自己的不同代码,那么还是得 Fork 一份源码的,不然下一次就不知道去哪里再 build 一份了。

怎么 Fork?当然是直接点原始项目的 Fork 按钮啦,例如我举这个项目为例:

图 1:Fork 代码

2. Clone 项目

下一步就要将代码 clone 到本地啦,例如我这里的操作为:

[[email protected]]# git clone [email protected]:liuliqiang/frp.git
[[email protected]]# cd frp
[[email protected]]# git remote add fatedier https://github.com/fatedier/frp.git

第三步很重要,因为你需要从这个远程仓库拉取 PR,所以需要添加上原始的 repo 地址。

3. 拉取 PR

拉取 PR 就简单很多了,直接一个 fetch 搞定:

[[email protected]]#  git fetch fatedier pull/1556/head:dev
fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository

但是,很显然,这里出错了,查了一下发现是 head 的 ref 不对,所以需要 update 一下:

[[email protected]]# git fetch -u fatedier pull/1556/head:dev

现在就可以了,开始你的表演吧。

4. Ref