经常使用操作


操作

说明

Fetch

从远程获取最新版本号到本地,不会自己主动merge

Merge

能够把一个分支标签或某个commit的改动合并如今的分支上

Pull

从远程获取最新版本号并merge到本地相当于fetch+merge

Push

将本地分支的更新。推送到远程主机

Merge tool

当你的代码产生了冲突能够通过此工具高速的对照

Switch to

将当前分支切换到其他分支或标签

Commit

将更改提交到本地库中

Rebase

能够把在一个分支里提交的改变移到还有一个分支里重放一遍

Reset

将当前分支切换到本分支曾经的不论什么一个版本号状态,即所谓的“回溯”

EGit的恢复版本号功能与使用Git Reset命令一样,而恢复的方式又分为Soft、Mixed、Hard三种:

•Soft:恢复到前面版本号,保留文件变更内容。且将已变更的全部文件加到准备区(Staging Area)。

•Mixed:恢复到前面版本号,保留全部已变更文件的变更内容。

•Hard:恢复到前面版本号。不保留全部已变更文件的变更内容。

Untrack

将已经加入到版本号控制的文件取消监视,及不再对其进行版本号控制

Ignore

忽略指定的文件或目录,此功能用在还没有进行版本号控制的文件上

Compare with

此功能同意你将当前文件和指定时期的文件进行对照

经常使用操作对照


Branch和Tag的差别:

tag多用于建立里程碑。比方开发达到某中程度,公布某个版本号,如V1.0。能够使用tag标注。

这样。以后对于程序版本号号就能够找到相应的代码状态。并进行build等操作。

理论上,tag作为里程碑的镜像存储。应该是仅仅读的才对。

相比,branch是project须要并行开发不同版本号而创建的。如一个原型项目完毕后。可能有不同的客户购买并定制,于是就须要在这个原型上构建两个独立的开发库,各自并行开发不同客户的须要。这样,branch能够是进程中的project,并且之后会不断改动的。

由此,能够看出tag和branch的区别。tag更重要的是记录某个里程碑,仅仅是希望得到那个状态时的代码状态,这对bug的确认和查找非常实用处。而各个branch之间是能够肆意各自的修改,互不相干的。branch上也能够有自己的tag。

Merge和Rebase的差别:

以下通过一个实例来解说一下两种方式的差别:

如果原先有A,B,C三个提交记录

开发人员提交了D,开发人员
Ed提交了E

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3l1emhlbmdmYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="A-B-C-D-E">

以下使用MERGE和REBASE两种方式分别对代码进行合并

MERGE方式:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3l1emhlbmdmYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="A-B-C-D-E-M">

这时D和E的提交仍然在这,可是我们创建了一个新的提交记录M。此时的状态图成了一个菱形,这让非常多人看起来非常混乱。

REBASE方式:

从上图能够看出这样的方式创建了提交R,这时的内容和M实际上是同样的。

可是这时没有了E。所以整个提交记录是看起来是一条线。

推荐阅读:

【Git使用具体解释】Egit插件的安装图解

【Git使用具体解释】使用Egit克隆项目到本地图解

【Git使用具体解释】Git的使用心得

【Git使用具体解释】Egit使用过程中遇到的问题及解决的方法

【Git使用具体解释】Egit的经常使用操作具体解释的更多相关文章

  1. 回归分析法&一元线性回归操作和解释

    用Excel做回归分析的详细步骤 一.什么是回归分析法 "回归分析"是解析"注目变量"和"因于变量"并明确两者关系的统计方法.此时,我们把因 ...

  2. Java路径操作具体解释

    1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或文件夹在硬盘上真正的路径.(URL和物理路径)比如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://w ...

  3. 【Java基础】Jar包结构结构分析和操作具体解释

    作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...

  4. Git学习之路(6)- 分支操作

    ▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...

  5. 使用git和github管理自己的项目---基础操作学习[转]

    原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...

  6. git stash 的一次惊心动魄的误删操作

    git stash 的一次惊心动魄的误删操作 简介:行走在互联网最低端的小熊 问题--源起: 小熊和所有混迹在互联网中的开发一样,公司里面用git来管理项目,由于可能经常有几个问题要开发,要频繁在多分 ...

  7. Git 学习笔记--3.EGit使用手册

    zz http://blog.csdn.net/pandakong/article/details/7234974 EGit是Eclipse上的Git插件,官方内容参看http://wiki.ecli ...

  8. git rebase 还是 merge的使用场景最通俗的解释

    什么是 rebase? git rebase 你其实可以把它理解成是“重新设置基线”,将你的当前分支重新设置开始点.这个时候才能知道你当前分支于你需要比较的分支之间的差异. 原理很简单:rebase需 ...

  9. Git远程操作具体解释

    Git是眼下最流行的版本号管理系统,学会Git差点儿成了开发人员的必备技能. Git有非常多优势,当中之中的一个就是远程操作非常简便.本文具体介绍5个Git命令,它们的概念和使用方法,理解了这些内容. ...

随机推荐

  1. js运行机制(线程)

    浏览器线程 js运作在浏览器中,是单线程的,即js代码始终在一个线程上执行,这个线程称为js引擎线程. 浏览器是多线程的,除了js引擎线程,它还有:  UI渲染线程 浏览器事件触发线程 http请求线 ...

  2. xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件

    在输入put后,再摁 TAB 键,可显示当前文件夹的文件 sftp:/home/yan> put $Recycle.Bin\              BluestacksCN\         ...

  3. 第4节 hive调优:2、数据倾斜

    数据的倾斜: 主要就是合理的控制我们的map个数以及reduce个数 第一个问题:maptask的个数怎么定的???与我们文件的block块相关,默认一个block块就是对应一个maptask 第二个 ...

  4. web中的$多种意思

    $符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的1.首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asdasd ...

  5. python-opencv遍历图片像素,并对像素进行操作

    看代码: def access_pixels(frame): print(frame.shape) #shape内包含三个元素:按顺序为高.宽.通道数 height = frame.shape[0] ...

  6. Java 对象的创建以及类加载

    1. 对象的创建的过程: 类加载检查—>分配内存—>初始化零值—>设置对象头—>执行 init . 1.类加载检查: 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数 ...

  7. Ubuntu配置SSH服务器

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远 ...

  8. 我的Python分析成长之路1

    Python是什么?                                                                                           ...

  9. vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类

    vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类 2011-10-20 12:00 486人阅读 评论(0) 收藏 举报 一.将类做成DLL 方法一: 你可以通过在命令行下用命令将以 ...

  10. You Are the One (区间DP)

    The TV shows such as You Are the One has been very popular. In order to meet the need of boys who ar ...