当咱们在 GitHub 上 fork 出一个仓库后,若是原仓库更新了,此时怎样才能保证咱们 fork 出来的仓库和原仓库内容一致呢?咱们通常关注的是仓库的 master(主干分支)的内容,经过如下步骤来保证他最新就能够了。git
前期准备:github
可使用源码管理可视化工具(客户端)来管理源码,例如「SourceTree」「GitHub Desktop」「Cornerstone」工具
这里咱们使用「SourceTree」克隆「fork 出来的仓库」,以 AFNetworking 仓库为例进行介绍spa
步骤:code
一、添加一个远程仓库,此时只是空壳,尚未同步内容,引用 fork 的原仓库地址blog
git remote add originUpstream https://github.com/AFNetworking/AFNetworking.git
二、commit(提交)本地的变动;若是本地没有修改内容,此步骤可忽略rem
git commit
三、更新远程仓库,从引用 fork 的原仓库地址同步内容,此时原仓库的 master(主干分支)已经能够在本地访问了同步
git remote update originUpstream
四、checkout(检出)用于操做的本地分支 ,好比 master;若是此时分支为已检出状态,此步骤可忽略源码
git checkout master
五、直接从远程仓库的分支 pull(拉取) 数据it
git pull originUpstream master
PS:或者本地已检出分支基于远程仓库的分支进行 rebase(变基)操做
git rebase originUpstream/master
六、把本地已检出分支的已提交数据 push(推送) 到本身 fork 的仓库中
git push origin master