【Git使用具体解释】Egit的经常使用操作具体解释
经常使用操作
|
操作 |
说明 |
|
Fetch |
从远程获取最新版本号到本地,不会自己主动merge |
|
Merge |
能够把一个分支标签或某个commit的改动合并如今的分支上 |
|
Pull |
从远程获取最新版本号并merge到本地相当于fetch+merge |
|
Push |
将本地分支的更新。推送到远程主机 |
|
Merge tool |
当你的代码产生了冲突能够通过此工具高速的对照 |
|
Switch to |
将当前分支切换到其他分支或标签 |
|
Commit |
将更改提交到本地库中 |
|
Rebase |
|
|
Reset |
将当前分支切换到本分支曾经的不论什么一个版本号状态,即所谓的“回溯” EGit的恢复版本号功能与使用Git Reset命令一样,而恢复的方式又分为Soft、Mixed、Hard三种: •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的经常使用操作具体解释的更多相关文章
- 回归分析法&一元线性回归操作和解释
用Excel做回归分析的详细步骤 一.什么是回归分析法 "回归分析"是解析"注目变量"和"因于变量"并明确两者关系的统计方法.此时,我们把因 ...
- Java路径操作具体解释
1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或文件夹在硬盘上真正的路径.(URL和物理路径)比如: C:\xyz\test.txt 代表了test.txt文件的绝对路径.http://w ...
- 【Java基础】Jar包结构结构分析和操作具体解释
作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...
- Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...
- 使用git和github管理自己的项目---基础操作学习[转]
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...
- git stash 的一次惊心动魄的误删操作
git stash 的一次惊心动魄的误删操作 简介:行走在互联网最低端的小熊 问题--源起: 小熊和所有混迹在互联网中的开发一样,公司里面用git来管理项目,由于可能经常有几个问题要开发,要频繁在多分 ...
- Git 学习笔记--3.EGit使用手册
zz http://blog.csdn.net/pandakong/article/details/7234974 EGit是Eclipse上的Git插件,官方内容参看http://wiki.ecli ...
- git rebase 还是 merge的使用场景最通俗的解释
什么是 rebase? git rebase 你其实可以把它理解成是“重新设置基线”,将你的当前分支重新设置开始点.这个时候才能知道你当前分支于你需要比较的分支之间的差异. 原理很简单:rebase需 ...
- Git远程操作具体解释
Git是眼下最流行的版本号管理系统,学会Git差点儿成了开发人员的必备技能. Git有非常多优势,当中之中的一个就是远程操作非常简便.本文具体介绍5个Git命令,它们的概念和使用方法,理解了这些内容. ...
随机推荐
- nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token
nginx 1.15.10 前端代理转发 将多个地址,代理转发到一个地址和端口 多系统公用一个cookie 统一token 注意: proxy_pass http://192.168.40.54:22 ...
- integer to roman leetcode c++实现
Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...
- Android Studio集成crashlytics后无法编译的问题
http://blog.csdn.net/zhuobattle/article/details/50555393 问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hos ...
- OpenCV2:第三章 读取图像
一.简介 将图像文件读入内存,可以用cv::imread()函数 二.读取图像 Mat imread(const string& filename,int flags=1); Mat: 如果读 ...
- lspci详解分析
lspci详解分析 一.PCI简介 PCI是一种外设总线规范.我们先来看一下什么是总线:总线是一种传输信号的路径或信道.典型情况是,总线是连接于一个或多个导体的电气连线,总 线上连接的所有设备可在同一 ...
- process data
# version 1.0def connect_mysql(sql, oper_type="select", data_l=None): conn = pymysql.conne ...
- C语言中函数参数传递的本质是值传递
数组名做函数参数进行传递时,实际上是是一份该指针的拷贝. 给形参赋予其他值,并不影响实参的值. 类似于: int *p = a; //a为数组名 p = b; //b为数组名 ...
- xcode中自定义log打印
打印内容包括 在哪个文件中 ? 在哪个方法中? 将要执行什么操作? // 此打印实现前提: // 1.在.pch文件中实现自定义log打印方法,log名换为LCLog // 2.定义一个宏obje ...
- LInux设备驱动分析—— kmalloc和kzalloc函数
今晚在研究EVM5728开发板上面Linux系统的IIC设备驱动程序,偶然之间看到驱动程序中有一处使用了kzalloc函数,本人之前都是使用Linux内核提供的kmalloc / kfree函数来给设 ...
- Java后端技术微信交流群!工作、学习、技术、资源等!期待你的加入!
<Java后端技术>专注Java相关技术:SSM.Spring全家桶.微服务.MySQL.MyCat.集群.分布式.中间件.Linux.网络.多线程,偶尔讲点运维Jenkins.Nexus ...