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. 阿里面试经历JAVA总结

    为记录阿里的电面经历,特与大家分享,岗位是JAVA研发工程师. 一面主要问题如下: 1)首先自我介绍 2)数据结构算法的基本问题,如排序算法,二叉树遍历,后序遍历非递归,图的最短路径问题 3)对一个数 ...

  2. windows下caffe如何单独编译proto文件

    利用protoc.exe即可编译. 在protoc.exe当前文件夹下打开cmd,输入命令如下: pushd %~dp0 echo "copying .proto and generated ...

  3. 面试STAR法则

    昨天投了几家公司的简历,A公司还没看简历,B公司没有通过简历,另外的后说(其实只投了这两家),B公司最终给了蛮中肯的回复: 虽然,一开始看到这样的结果,有些失落,仔细看过回复后,有些不屑和好奇.百度了 ...

  4. <pre>标签让<textarea>标签的内容原样输出

    当通过<textarea>插数据进数据的库,取出来后都变成一行变成,用这个<pre>标签能原样输入插入时的格式. 当时要对<pre>加一些CSS样式才行啦. 以下为 ...

  5. 【BZOJ3190】[JLOI2013]赛车 单调栈+几何

    [BZOJ3190][JLOI2013]赛车 Description 这里有一辆赛车比赛正在进行,赛场上一共有N辆车,分别称为个g1,g2……gn.赛道是一条无限长的直线.最初,gi位于距离起跑线前进 ...

  6. winsxs清理

    win7的网友经常问:C:Windowswinsxs文件夹下是什么文件,可以删除吗? 答案是不建议你删除的,如果你特别想删除的话我推荐你一个工具. 本人亲测系统正常运行. 可以为C盘剩下将近4G空间 ...

  7. 【CSS选择器】理解汇总和记录

    1.选择器中符号含义汇总(这部分包含了对选择器的通用理解): 1.1.多元素组合符号:(共6个,一个是CSS3的)(适用所有元素:ID组合,类组合,属性组合,标签组合,伪类组合,以及以上所有混合组合) ...

  8. Openstack虚拟机创建流程

    续上一篇Openstack安装配置 一,keystone交互认证阶段 1,发送用户名和密码给keystone认证获取token 2,带着token访问nova-api 3,nova-api使用toke ...

  9. Sublime text找不到.so文件

    在使用Sublime text打开一个android项目的时候,你会发现找不到.so文件. 解决方法: 点击Sublime text的Preferences,然后点击Settings,这时候出现设置的 ...

  10. BaseDao 接口

    // 以后所有的 Dao 接口都需要继承 BaseDao 接口; // 自定义泛型接口 public interface BaseDao<T>{ public void save(T t) ...