Fork是一个复制的操做,当你Fork一个项目以后,你就有了在原项目的基础之上进行修改和扩展的权限。git
一般状况下,Fork操做用于参与别人的项目(成为项目中的一员),或者以别人的项目为基础来开发本身的项目。github
当你使用一个开源项目的时候,若是项目中存在bug,除了能够将bug报告项目开发人员。你也能够经过Fork原项目,并参与进来。windows
在Github中,Fork一个开源项目主要有两步:工具
当你Fork一个项目以后,你的项目与原项目之间就不存在联系了,当原项目有更新的时候,你本身Fork的项目也不会同步保持更新。为了保持与原项目的一致,你须要使用到Git的命令行。测试
若是你没有安装git的客户端,你须要先去下载git的客户端并安装,windows系统git下载安装地址:http://git-scm.com/download/fetch
git clone git@github:[yourname]/Spoon-knife
当你clone完一个项目,能够使用git remote -v
来查看你fork的远程仓库的地址;默认的clone操做完成后,远端仓库的地址别名为:origin
,为了须要与原项目保持更新,你还须要将原项目地址给添加进来,使用命令:git remote add upstream git@github.com:octocat/Spoon-Knife.git
能够添加远端仓库地址,其中upstream为新的远端仓库的别名。命令行
假设你已经完成了前三步,当原项目有更新的时候,怎么将更新检入到本地呐,主要是如下几个步骤:code
git fetch upstream
命令,检出upstream分支以及各自的更新;git checkout master
;upsteram/master
分支和master
分支,将原项目中的更改更新到本地分支,这样就能使你的本地的fork分支与原项目保持同步,命令:git merge upstream/master
;git push
将本地分支的修改推送到远端fork的项目;