当我们参与github上开源项目时,因为开源项目,不是每个人都有push权限,所以这时候,我们就需要了解一个操作—fork;fork的意思可以理解为复制,把别人github上的代码,复制到自己github上一份。
fork并且更新一个代码库
现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它。并且Joe将他的代码放在了GitHub仓库上。下面是你要做的事情:
1. Fork Joe的github的仓库,执行fork操作过后,会在你的github中创建一个同名的coolgame项目;
2. Clone使用git命令clone 从你自己的github上把代码下载进本地工作区;
3. 在本地执行正常的git add,更新某些文件
4. 提交你的更改
5. 把你的commit推送到远程你的仓库
6. pull request 把你的请求请求合并到原始的代码库
同步一个fork
Joe和其余贡献者已经对这个项目做了一些修改,而你将在他们的修改的基础上,还要再做一些修改。在你开始之前,你最好”同步你的fork”,以确保在最新的复制版本里工作。下面是你要做的:
- 首先需要把Joe代码库的地址添加过来。git remote add upstream https://github.com/joe/coolgame.git。使用fetch拉取 远程仓库upstream的代码,git fetch upstream ;
- 把远程代码库的代码合并到本地代码库 git merge upstream/master。
- 推送到自己的远程代码库 git push