| 2 min read

其实很多时候我们都是fork完别人的代码然后快速提交,然后发一个PR过去就好了。但有的时候我们也会遇到需要长期保持我们fork的项目与fork的源保持一致。粗暴一点的做法,就是删掉当前的repository然后再重新fork一个。当然我们还有更好的方法。

下面用自己fork的react-hot-loader作为例子。自己fork了gaearon的 react-hot-loader,然后自己clone了一个项目在本地。这个时候进入项目,我们可以使用git remote -v可以看到我们的clone源。比如过了几天,对方项目新增了分支或者新的代码,这个时候你希望自己的项目也能够保持与原项目代码进行同步。这个时候我们可以这样做:

1 配置远程的upstream 地址

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

而我这里的地址也就是我fork的地址 https://github.com/gaearon/react-hot-loader

2 这个时候你可以执行git fetch upstream 进行对upstram的代码更新。

大概你就能够看到一些更新的信息。

3 进行代码合并

这个时候我们可以用git merge合并我们希望从远程更新后的分支或者主干代码。比如:

参考

You Can Speak "Hi" to Me in Those Ways