zoukankan      html  css  js  c++  java
  • 【Git使用具体解释】Egit的经常使用操作具体解释

    经常使用操作


    操作

    说明

    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

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

     

    经常使用操作对照


    BranchTag的差别:

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

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

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

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

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

    MergeRebase的差别:

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

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

    A-B-C

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

    A-B-C-D-E

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

    MERGE方式:

    A-B-C-D-E-M

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

    REBASE方式:

    A-B-C-D-E-R

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

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

    推荐阅读:

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

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

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

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


  • 相关阅读:
    单位换算 M、Mb、MB
    数据库事务原子性、一致性、隔离性、持久性
    进制转换
    SpringBoot application.yum配置
    private 与 super
    sql 字段别名里包含特殊字符
    sql 中的分隔符
    sql 中的注释
    windows Ctrl + Alt + 方向键 取消屏幕反转
    1finally与return、exit()
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/6857069.html
Copyright © 2011-2022 走看看