【转】github中origin和upstream的区别

Fork,本身并不是git工具中的一个命令,也不是对git的扩展,它是在GitHub上的概念,是另一种clone方式——在服务器端的clone。
而我们通常意义上的clone,是将远程repo 复制一份到本地。

当你从GitHub上 clone 一个 repo 到本地时,除非你已明确声明是这个repo的contributor,否则你是不能向其pull request的,此时,该远程的repo对于本地repo来说,就是upstream。
当你从GitHub上 fork 一个 repo 之后,再 clone forked repo 到本地,你就可以任意向其pull request,此时,远程的 repo 就是 origin。

这里写图片描述

下面一段是来自 GitHub pages 的解释:

When a repo is cloned, it has a default remote called origin that points to your fork on GitHub, not the original repo it was forked from.

To keep track of the original repo, you need to add another remote named upstream

git remote add upstream git://github.com/user/repo_name.git

总结下来: 
1. 如果是 upstream repo,你只可以拉取最新代码(即 git fetch ),从而保证你本地的仓库与源仓库同步 
2. 如果是 origin repo,就是你自己的repo(自己创建的,或者 fork 的项目)你可以做 任何推拉操作(pull and push) 
3. 你可以通过 pull request 向 upstream repo 贡献代码

Referenced by http://stackoverflow.com/questions/6286571/git-fork-is-git-clone

In terms of source control, you're "downstream" when you copy (clone, checkout, etc) from a repository. Information flowed "downstream" to you.

When you make changes, you usually want to send them back "upstream" so they make it into that repository so that everyone pulling from the same source is working with all the same changes. This is mostly a social issue of how everyone can coordinate their work rather than a technical requirement of source control. You want to get your changes into the main project so you're not tracking divergent lines of development.

Sometimes you'll read about package or release managers (the people, not the tool) talking about submitting changes to "upstream". That usually means they had to adjust the original sources so they could create a package for their system. They don't want to keep making those changes, so if they send them "upstream" to the original source, they shouldn't have to deal with the same issue in the next release.

http://stackoverflow.com/questions/2739376/definition-of-downstream-and-upstream/2749166#2749166

What is the difference between origin and upstream in github?

When a git branch -a command is done, some branches have a prefix of origin(remotes/origin/..) while others have a prefix of upstream (remotes/upstream/..).
================

 

This should be understood in the context of GitHub forks (where you fork a GitHub repo at GitHub before cloning that fork locally)

  • upstream generally refers to the original repo that you have forked
    (see also "Definition of “downstream” and “upstream”" for more on upstream term)
  • origin is your fork: your own repo on GitHub, clone of the original repo of GitHub

From the GitHub page:

When a repo is cloned, it has a default remote called origin that points to your fork on GitHub, not the original repo it was forked from.
To keep track of the original repo, you need to add another remote named upstream

git remote add upstream git://github.com/user/repo.git

You will use upstream to fetch from the original repo (in order to keep your local copy in sync with the project you want to contribute to).

You will use origin to pull and push since you can contribute to your own repo.

You will contribute back to the upstream repo by making a pull request.

http://my.oschina.net/uniquejava/blog/481625

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】WPF入门教程系列六——布局介绍与Canvas(一)

从这篇文章开始,我们将对WPF中的界面如何布局做一个较简单的介绍,大家都知道:UI是做好一个软件很重要的因素,如果没有一个漂亮的UI,功能做的再好也无法吸引用户使用,而且没有漂亮的界面,那么普通…

【OSG学习】学习方法

1. 环境准备 运行调试环境的准备参考我的另外一篇博客:【OSG学习】准备开发调试环境 运行调试环境准备比较麻烦,但是不复杂,需要耐心。但是可能很多人会被卡在这一步,后面我会专门提供直接可以使用的完整项目,方便大…

【转】Vue.js入门教程(二)在页面中引入vue的方式

第二章:安装和基础效果展示 页面中引入vue 因为我们的目标是在最短的时间之内学会vue的使用方法,所以我们不一定需要通过npm工程化进行安装,你直接用script在页面中引用也完全没有问题。 第一种引入方式,script直接引入&#xf…

【OSG】Examples

推荐内容 关于示例项目解析的内容推荐: OSG3.4内置Examples解析【目录】 下面是个人学习笔记。 1. Examples osgbillboard 这个项目很简单,就几个函数,而且很有意思。 osg::Billboard类是一个控制器,不管你怎么旋转漫游场景&a…

【转】页(page),用户控件(userControl),窗口(window)区别

欢迎加入BIM行业开发交流1群 群号:711844216 背景 大家在vs中新建wpf项目后,会发现在添加新建项时会出现下列三个选项 它们有什么区别呢? 区别: 页:通常用于网页窗口:通常一个桌面app只有一个主窗口用户控件&#…

OpenGL基本运行模型

OpenGL是一种三维技术规范。 我们知道三维渲染场景需要实时计算大量数据。 这里我根据自己的经验总结出一句话: 计算机中,对性能要求高的功能模块,其运行原理必然是简单易行的! 有理由断言:OpenGL没那么难。 OpenGL工…

【转】浅谈TDD、BDD、ATDD、DDD的区别

四个开发模式意思: TDD:测试驱动开发(Test-Driven Development)BDD:行为驱动开发(Behavior Driven Development)ATDD:验收测试驱动开发(Acceptance Test Driven Development&#x…

【OSG】OSG运行模型

关于运行模型 OSG中的类很多,只看OSG代码,很难把各个类串联起来。 我们知道面向对象程序的运行模型是:对象对象间协作。 单纯看代码,多数情形下,只能了解程序中有哪些对象,而不知道它们是如何协作的&…

用姓名字段统计人数_基于 Wide amp; Deep 网络和 TextCNN 的敏感字段识别

数据治理 (Data Governance) [1]作为一种数据管理的重要一环,主要目的在于保证数据在整个生命周期内的高质量性。数据治理的核心包括:数据的可用性 (Availability),易用性 (Usability),一致性 (Consistency),完整性 (I…

【转】C# Stream篇(—) -- Stream基类

目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和其子类的类图 本章总结 什么是Stream? MSDN 中的解释太简洁了: 提供字节序列的一般视图 (我可不想这么理解…

【已解决】解决Win7安装VS2013/VS2015结束时报错“无法建立到信任根颁发机构的证书链”的问题

问题描述 最近在Win7虚拟机上上安装VS,等待许久之后,提示安装完成。但是完成界面报错: “无法建立到信任根颁发机构的证书链”。 而且错误还不少,如下图所示: 根据我的个人经验,证书问题并没有影响日常开…

【转】C# Stream篇(二)TextReader 和StreamReader

目录: 为什么要介绍 TextReader? TextReader的常用属性和方法 TextReader 示例 从StreamReader想到多态 简单介绍下Encoding 编码 StreamReader 的定义及作用 StreamReader 类的常用方法属性 StreamReader示例 本章总结 为什么要介绍 TextReade…

【数据结构】能看懂的红黑树

1 总体逻辑 1.2 二叉树 二叉树中&#xff0c;一个根节点最多有两个子节点。 1.3 二叉排序树 Binary Search Tree 二叉排序树是一个排好序的二叉树。且水平方向来看&#xff0c;总有 左节点 < 右节点 简单记忆其规律&#xff0c;可以在脑海中想象一个大大的小于号&#x…

【转】!C#中的Stream相关

计算机文件基本上分为二种&#xff1a;二进制文件和 ASCII&#xff08;也称纯文本文件&#xff09;。图形文件及文字处理程序等计算机程序都属于二进制文件。这些文件含有特殊的格式及计算机代码。ASCII 则是可以用任何文字处理程序阅读的简单文本文件&#xff0c;由一些字符的…

【转】!!c#文件系统操作类继承关系图

自己总结的&#xff0c;给大家参考一下&#xff0c;

php elasticsearch 获取索引所有文档_Elasticsearch客户端主要方法的使用规则

安装1.在 composer.json 文件中引入 elasticsearch-php&#xff1a;{ "require": { "elasticsearch/elasticsearch": "~6.0" }}2.用 composer 安装客户端&#xff1a;curl -s http://getcomposer.org/installer | phpphp composer.…

【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

转自&#xff1a;https://monday.blog.csdn.net/article/details/51122637 一&#xff1a;使用场景&#xff1a; 假如你的项目&#xff08;这里指的是手机客户端项目&#xff09;的某个版本&#xff08;例如1.0版本&#xff09;已经完成开发、测试并已经上线了&#xff0c;接…

【转】人工智能教程-前言

前言 大家好&#xff01;欢迎来到我的网站&#xff01; 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑&#xff0c;人工智能时代就要来临了&#xff0c;科幻电影中的场景将成为现实&#xff0c;未来已来&#xff01; 我很庆幸。十四年前就认定了人工智能专业&…

【转】人工智能-1.1.1 什么是神经网络

1.1.1 什么是神经网络 什么是人工智能&#xff1f;通俗来讲&#xff0c;就是让机器能像人一样思考。这个无需解释太多&#xff0c;因为通过各种科幻电影我们已经对人工智能很熟悉了。大家现在感兴趣的应该是——如何实现人工智能&#xff1f; 从1956年夏季首次提出“人工智能…