常用操作


操作

说明

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是工程需要并行开发不同版本而创建的。如一个原型项目完成后,可能有不同的客户购买并定制,于是就需要在这个原型上构建两个独立的开发库,各自并行开发不同客户的需要。这样,branch可以是进程中的工程,而且之后会不断修改的。

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

Merge和Rebase的区别:

下面通过一个实例来讲解一下两种方式的区别:

假设原先有A,B,C三个提交记录

开发者提交了D,开发者 Ed提交了E

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

MERGE方式:

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

REBASE方式:

从上图可以看出这种方式创建了提交R,这时的内容和M实际上是相同的。但是这时没有了E,所以整个提交记录是看起来是一条线。

推荐阅读:

【Git使用详解】Egit插件的安装图解

【Git使用详解】使用Egit克隆项目到本地图解

【Git使用详解】Git的使用心得

【Git使用详解】Egit使用过程中遇到的问题及解决办法

【Git使用详解】Egit的常用操作详解的更多相关文章

  1. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  2. 通过 Git 上传代码到 GitHub 必要操作详解

    目录 Git 介绍 起步 下载 配置 准备 在 GitHub 上创建 SSH Key 提交 修改代码 更多信息 Git 欢迎来到 Git 的学习. 介绍 首先先了解一下 Git. Git,是一个开源的 ...

  3. 【python+selenium的web自动化】- 元素的常用操作详解(一)

    如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html ​ 本篇主要内容:1.元素 ...

  4. pandas常用操作详解——pd.concat()

    concat函数基本介绍: 功能:基于同一轴将多个数据集合并 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=Fa ...

  5. pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()

    df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...

  6. pandas常用操作详解——info()与descirbe()

    概述 df.info():主要介绍数据集各列的数据类型,是否为空值,内存占用情况: df.describe(): 主要介绍数据集各列的数据统计情况(最大值.最小值.标准偏差.分位数等等). df.in ...

  7. Linux常用操作详解

    第1章 Linux命令基础 1.1 习惯 操作前备份,操作后检查 1.2 简单目录结构 一切从根开始,与windows不同 1.3 规则 [root@znix ~]# [用户名@主机名 你在哪]# 1 ...

  8. 【python+selenium的web自动化】- 元素的常用操作详解(二)

    如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html ​ 本篇主要内容:1.鼠标 ...

  9. pandas常用操作详解(复制别人的)——数据透视表操作:pivot_table()

    原文链接:https://www.cnblogs.com/Yanjy-OnlyOne/p/11195621.html 一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表 ...

随机推荐

  1. ql Server 2012完全卸载方法

    第一步,在控制面板里面找到程序——卸载程序这一项,打开之后就会是这样的了 第二步,经过第一步打开卸载程序后,在里面找到Microsoft SQLserver 2012 (64-bit)这一项,可以通过 ...

  2. BZOJ 4242 水壶(BFS建图+最小生成树+树上倍增)

    题意 JOI君所居住的IOI市以一年四季都十分炎热著称. IOI市是一个被分成纵H*横W块区域的长方形,每个区域都是建筑物.原野.墙壁之一.建筑物的区域有P个,编号为1...P. JOI君只能进入建筑 ...

  3. 学习《Unix/Linux编程实践教程》(1):Unix 系统编程概述

    0.目录 1.概念 2.系统资源 3.学习方法 4.从用户的角度来理解 Unix 4.1 登录--运行程序--注销 4.2 目录操作 4.3 文件操作 5.从系统的角度来理解 Unix 5.1 网络桥 ...

  4. Treasure Exploration POJ - 2594(最小边覆盖)

    因为是路  所以 如果 1——3  2——3    3——4   3——5 则 1——4  1——5  2——4   2——5 都是是合法的 又因为机器人是可以相遇的  所以 我们把所有的点 分别放在 ...

  5. 数位DP复习小结

    转载请注明原文地址http://www.cnblogs.com/LadyLex/p/8490222.html 之前学数位dp的时候底子没打扎实 虚的要死 这次正好有时间……刷了刷之前没做的题目 感觉自 ...

  6. MT【201】折线计数

    甲乙两人参加竞选,结果甲得n票,乙得m票(n > m) . 则在唱票过程中,甲的累计票数始终超过乙的累计票数的概率是_____________. 答案:$\dfrac{n-m}{n+m}$

  7. eclipse/intellij idea 查看java源码和注释

    工作三年了,一直不知道怎么用IDE查看第三方jar包的源码和注释,惭愧啊!看源码还好些,itellij idea自带反编译器,eclipse装个插件即可,看注释就麻烦了,总不能去找api文档吧!现在终 ...

  8. 素数筛选法(prime seive)

    素数筛选法比较有名的,较常用的是Sieve of Eratosthenes,为古希腊数学家埃拉托色尼(Eratosthenes 274B.C.-194B.C.)提出的一种筛选法.详细步骤及图示讲解,还 ...

  9. python---django中orm的使用(1)

    首先推荐两篇文章:Django之ORM操作,http://www.cnblogs.com/yuanchenqi/articles/6083427.html十分全面. 另外和python---ORM之S ...

  10. bzoj千题计划211:bzoj1996: [Hnoi2010]chorus 合唱队

    http://www.lydsy.com/JudgeOnline/problem.php?id=1996 f[i][j][0/1] 表示已经排出队形中的[i,j],最后一个插入的人在[i,j]的i或j ...