Fork一个Repo

Fork是一个复制的操作,当你Fork一个项目之后,你就有了在原项目的基础之上进行修改和扩展的权限。

通常情况下,Fork操作用于参与别人的项目(成为项目中的一员),或者以别人的项目为基础来开发自己的项目。

当你使用一个开源项目的时候,如果项目中存在bug,除了可以将bug报告项目开发人员。你也可以通过Fork原项目,并参与进来。

  • 首先,Fork原项目,并将项目代码更新到你的本地;
  • 其次,修复项目中的bug,并确认问题已修复;
  • 最后,如果一切测试都没有问题,你就可以提交一个pull request给项目所有人,如果项目所有者认可你的代码,他就会将你的修改更新到原项目中;

在Github中,Fork一个开源项目主要有两步:

  1. 查找到你想要Fork的项目;
  2. 点击项目介绍页面右上角的Fork;

保持同步

当你Fork一个项目之后,你的项目与原项目之间就不存在联系了,当原项目有更新的时候,你自己Fork的项目也不会同步保持更新。为了保持与原项目的一致,你需要使用到Git的命令行。

第一步 安装git客户端

如果你没有安装git的客户端,你需要先去下载git的客户端并安装,windows系统git下载安装地址:http://git-scm.com/download/

第二步 clone你fork的项目

  1. fork一个项目, 官方示例:https://github.com/octocat/Spoon-Knife
  2. 使用git命令行clone项目: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为新的远端仓库的别名。

第四步 同步更新

假设你已经完成了前三步,当原项目有更新的时候,怎么将更新检入到本地呐,主要是以下几个步骤:

  1. 打开git命令行工具;
  2. 进入项目本地路径;
  3. 执行git fetch upstream命令,检出upstream分支以及各自的更新;
  4. 切换到你的本地分支主干:git checkout master
  5. 合并upsteram/master分支和master分支,将原项目中的更改更新到本地分支,这样就能使你的本地的fork分支与原项目保持同步,命令:git merge upstream/master
  6. 执行git push将本地分支的修改推送到远端fork的项目;

Github fork其他项目的分支与主干保持同步的更多相关文章

  1. 在github fork的项目中推送与抓取

    github -- fork提交项目:自己的仓库和原仓库进行Git同步的操作. 1. 获取你fork的原仓库的更新过的最新代码:如果没有远程原始分支则需要增加. git remote add upst ...

  2. github -- fork提交项目

    我们在进行Github协同开发的时候,往往会去fork一个仓库到自己的Github中,过一段时间以后,原仓库可能会有各种提交以及修改,很可惜,Github本身并没有自动进行同步的机制,这个需要我们手动 ...

  3. Github Fork与远程主分支同步

    fork与主分支同步(5步) 1. git remote add upstream git@github.com:haichong98/gistandard.git   新建一个upstream的远程 ...

  4. GitHub更新已经fork的项目

    clone 自己的 fork 分支到本地 可以直接使用 GitHub 客户端,clone 到本地,如果使用命令行,命令为: $ git clone git@github.com:morethink/g ...

  5. github如何实现fork的项目与原项目同步

    refer to https://www.jianshu.com/p/fede3333205f 作者:hitchc 链接:https://www.jianshu.com/p/fede3333205f ...

  6. github上fork原项目,如何将本地仓库代码更新到最新版本?

    场景: 在github上fork原项目,项目组成员发起pull request提交了代码,这时自己在本地仓库该如何更新到最新代码? 操作方法如下: 方法一.从github上进行操作然后更新 登录自己的 ...

  7. 同步 Github fork 分支

    /**************************************************************************** * 同步 Github fork 分支 * ...

  8. github fork项目更改后与原作者同步更新

    1.进入你的GitHub发起Pull request 2.选择compare across forks 3.反向操作.base fork改为自己的,head fork改为原作者的 4.点击 creat ...

  9. Github上fork的项目如何merge原Git项目

    问题场景 小明在Github上fork了一个大佬的项目,并clone到本地开发一段时间,再提交merge request到原Git项目,过了段时间,原作者联系小明,扔给他下面这幅截图并告知合并处理冲突 ...

随机推荐

  1. mysql数据库sql优化——子查询优化

    1.什么是子查询.表关联查询: 子查询:是指在主sql语句中的select或where子句中使用select查询语句:select a.name,(select b.name from b where ...

  2. Linux下自动调整时间和时区与Internet时间同步

    (原文链接) 调整linux系统时间和时区与Internet时间同步一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的 ...

  3. BF算法 + KMP算法

    准备: 字符串比大小:比的就是字符串里每个字符的ASCII码的大小.(其实这样的比较没有多大的意义,我们关心的是字符串是否相等,即匹配等) 字符串的存储结构:同线性表(顺序存储+链式存储) 顺序存储结 ...

  4. zookeeper简单操作

    接下来主要讲述了通过zookeeper服务器自带的zkCli.sh工具模拟客户端访问和操作zookeeper服务器(包括集群服务器). 当成功启动zookeeper服务后,切换到server1/bin ...

  5. oracle批量update

    我个人觉得写的很好 http://blog.csdn.net/wanglilin/article/details/7200201 需求: 将t2(t_statbuf)表中id和t1(T_Mt)表相同的 ...

  6. 用RSS订阅微信公众号

    现在用RSS的人应该不多了,不过还是写一下吧. 一.付费服务:今天看啥 1.付费原因: 目前,网上几乎没有免费的用RSS订阅微信公号的方法,所以我推荐的是付费方法: 具体使用的服务是今天看啥,服务还是 ...

  7. Powershell Get File/Disk Size

    知识点: 1.获取路径中的文件夹:Get-ChildItem $startFolder  | Where-Object {$_.PSIsContainer -eq $True} | Sort-Obje ...

  8. 解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug

    在说这个问题之前,必须先解释一下,我们在引入project的时候,xcode会给我们3个选项 1.Copy items if needed 主要是说明,是否要将文件复制到project所在文件夹. 假 ...

  9. 查询dubbo服务

    1.公司内网肯定会有服务治理平台,把自己提供的服务接口当关键字查询即可. 2.命令方式实现 查看本机Dubbo服务是否启动,telnet localhost [端口号],端口号是在注册dubbo服务的 ...

  10. ionic真机调试Android报错 - could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon

    在使用真机调试Android程序时,报错如下: could not read ok from ADB Server * failed to start daemon error: cannot con ...