【Git使用详解】Egit的常用操作详解
常用操作
操作 |
说明 |
Fetch |
从远程获取最新版本到本地,不会自动merge |
Merge |
可以把一个分支标签或某个commit的修改合并现在的分支上 |
Pull |
从远程获取最新版本并merge到本地相当于fetch+merge |
Push |
将本地分支的更新,推送到远程主机 |
Merge tool |
当你的代码产生了冲突可以通过此工具快速的对比 |
Switch to |
将当前分支切换到其它分支或标签 |
Commit |
将更改提交到本地库中 |
Rebase |
|
Reset |
将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯” EGit的恢复版本功能与使用Git Reset命令一样,而恢复的方式又分为Soft、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的常用操作详解的更多相关文章
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- 通过 Git 上传代码到 GitHub 必要操作详解
目录 Git 介绍 起步 下载 配置 准备 在 GitHub 上创建 SSH Key 提交 修改代码 更多信息 Git 欢迎来到 Git 的学习. 介绍 首先先了解一下 Git. Git,是一个开源的 ...
- 【python+selenium的web自动化】- 元素的常用操作详解(一)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.元素 ...
- pandas常用操作详解——pd.concat()
concat函数基本介绍: 功能:基于同一轴将多个数据集合并 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=Fa ...
- pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()
df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...
- pandas常用操作详解——info()与descirbe()
概述 df.info():主要介绍数据集各列的数据类型,是否为空值,内存占用情况: df.describe(): 主要介绍数据集各列的数据统计情况(最大值.最小值.标准偏差.分位数等等). df.in ...
- Linux常用操作详解
第1章 Linux命令基础 1.1 习惯 操作前备份,操作后检查 1.2 简单目录结构 一切从根开始,与windows不同 1.3 规则 [root@znix ~]# [用户名@主机名 你在哪]# 1 ...
- 【python+selenium的web自动化】- 元素的常用操作详解(二)
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 本篇主要内容:1.鼠标 ...
- pandas常用操作详解(复制别人的)——数据透视表操作:pivot_table()
原文链接:https://www.cnblogs.com/Yanjy-OnlyOne/p/11195621.html 一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表 ...
随机推荐
- Kivy 中文教程 实例入门 简易画板 (Simple Paint App):2. 实现绘图功能
1. 理解 kivy 坐标系统 上一节中,咪博士带大家实现了画板程序的基础框架,以及一个基本的自定义窗口部件(widget).在上一节的末尾,咪博士留了一道关于 kivy 坐标系统的思考题给大家.通过 ...
- Hbase之JAVA API不能远程访问问题解决
1.配置Linux的hostname2.配置Linux的hosts,映射ip的hostname的关系3.配置访问windows的hosts 参考文档:http://blog.csdn.net/ty49 ...
- stacking算法原理及代码
stacking算法原理 1:对于Model1,将训练集D分为k份,对于每一份,用剩余数据集训练模型,然后预测出这一份的结果 2:重复上面步骤,直到每一份都预测出来.得到次级模型的训练集 3:得到k份 ...
- JDK8新特性,给接口添加一个默认实现
在JDK8中,允许给接口本身添加一个默认的实现.用“default”进行修饰.如下实例 package interfacetest; public interface TestInterface { ...
- Codeforces Round #485 Div. 1 vp记
A:对每种商品多源bfs一下每个点到该商品的最近距离,对每个点sort一下取前s个即可. #include<iostream> #include<cstdio> #includ ...
- IntelliJ IDEA的安装和使用教程
1. 安装IntelliJ IDEA IntelliJ IDEA(简称"IDEA")是Java语言的集成开发环境,它是JetBrains公司的产品之一.详情请看:JetBrains ...
- 开发常用镜像资源替换为国内开源镜像(yum,compose,maven,docker,android sdk,npm,国内开源镜像汇总)
一.国内开源镜像站点汇总 阿里云开源镜像站 (http://mirrors.aliyun.com/)网易开源镜像站 (http://mirrors.163.com/)中国科学技术大学开源镜像站 (ht ...
- 图像处理之生成ColorBar
1 colorBar介绍 colorBar主要是指一些图像处理中使用的常见纯色或者渐变色条.colorBar用途可作为测试样图来验证某些图像算法的效果,从而避免图像内容或者硬件对图像的干扰,使图像算法 ...
- 烦人的IE7、8,半透明滤镜(filter:alpha)失效、png半透明失效的解决办法
在项目中的问题,之前用的是用IETest测试IE7,8发现背景透明设置无效,后来找文章解决!看了一些资料,做下总结. 几种IE半透明CSS样式 IE8里可以这样写 -ms-filter:”progid ...
- webpack实现“热更新”和“热加载”(webpack3.6新增)
之前的博文有提到怎么样去实现热更新,但是居然要用到另外一个node框架(express)而且新增了一个入口(entry)两个插件(plugin)来实现,大大提高了配置的复杂度,这样其实对使用webpa ...