第一步 clone你fork的项目
- fork一个项目, 官方示例:https://github.com/octocat/Spoon-Knife;
- 使用git命令行clone项目:
git clone git@github:[yourname]/Spoon-knife
第二步 添加新的远程仓库地址
当你clone完一个项目,可以使用git remote -v
来查看你fork的远程仓库的地址;默认的clone操作完成后,远端仓库的地址别名为:origin
为了需要与原项目保持更新,你还需要将原项目地址给添加进来
git remote add upstream 原作者仓库地址
如:git remote add upstream git@github.com:octocat/Spoon-Knife.git
可以添加远端仓库地址,其中upstream为新的远端仓库的别名。
此时再用 git remote -v
就可以看到一个origin是你的,另外一个upstream是原作者的。
第三步 同步更新
- 打开git命令行工具;
- cd进入项目本地路径;
- 执行
git fetch upstream
命令,检出upstream分支以及各自的更新; - 切换到你的本地分支主干:
git checkout master
; - 合并
upsteram/master
分支和master
分支,将原项目中的更改更新到本地分支,这样就能使你的本地的fork分支与原项目保持同步,命令:git merge upstream/master
; - 执行
git push
将本地分支的修改推送到远端fork的项目;
备注:
merge方式的历史记录不太好看。
如果不想删除重新fork,也可以:
git checkout master
git remote add upstream 别人的代码库地址
git fetch upstream/master
git reset --hard upstream/master
摘自:
https://www.cnblogs.com/kakag/p/4287536.html
https://segmentfault.com/q/1010000009818126