目前我使用的Eclipse luna版本中已经集成了git插件,这里就不介绍如何安装Git插件了,不懂可以看其他的博客。

  上篇笔记介绍了Git的基本指令,实际开发中我基本都使用eclipse插件进行代码提交和更新,下面就介绍下Eclipse中如何使用Git插件。

  首先看一张Git管理代码原理图:

          

  从这张图中可知道Git管理代码涉及到4个地方,

  Remote:远程仓库,或者叫远程分支,一个项目由多个人开发时,远程仓库就是中央代码库。

  Repository:本地仓库,顾名思义就是安装在本地的代码库,这也是Git与Svn最大的区别,SVN是集中式管理,每次提交或更新代码前都要连接远程仓库,而Git因为有本地仓库,代码先提交到本地仓库,需要时再更新到远程仓库,也就是说本地代码提交和更新无需连接远程仓库,没网也能提交和更新代码。

  Index:索引,这就要谈到上篇笔记中提到的Git的三种状态,当代码由Git托管后,工作区的代码更改后,状态会变成已修改(Eclipse中表现为代码文件上有一个>标记),那么想要提交到本地仓库,必须先将代码提交到暂存区,这个暂存区就是索引,Eclipse中的指令是Add to Index。

  WorkSpace:本地工作空间,这个就不多解释了。

 下面介绍实际工作中代码的提交与合并,冲突解决。

  在你上次更新代码到远程仓库,现在准备写代码之前,先pull下远程仓库的代码,这样可将远程仓库的更改合并到本地代码,这样做的好处是通常无需手动解决冲突,因为之前你已经把本地仓库的更改推送到远程仓库了,远程仓库后面的更改也是在你的代码基础上,而你本地代码并没有更改,所以这种情况下合并是最好最简单的方式。合并代码后再写代码。

  当然你也可以省略上面这步,直接写代码,写完代码后add to Index —— commit,将代码提交到本地仓库。

  记住这时别急着push到远程仓库,因为在你写代码这段时间可能其他人和你同时修改了一个文件的同一个位置,这时你要再次pull下,查看工作空间的代码有没有红色的双箭头的,如果有那就要手动解决冲突了。

如图

  

解决完冲突后,再次Add to Index ——Commit,更新到远程仓库前最好还是pull,只到没有出现冲突时,再push代码。

这种方法是最保险的,保证不会影响别人的代码,也不会出错。

总结:记住在推送代码到远程仓库时,记得pull代码,有冲突解决冲突,没冲突直接push.

顺便说下pull和fetch的异同,他们都是更新远程仓库代码到本地的,不同的是fetch完以后还需要merge一下,而pull一个指令包含了fetch和merge两个操作。

然后再说下merge和rebase的异同,他们都是用于合并代码,不同的时rebase操作稍微复杂一些,但更仔细一些,它会将远程文件和本地文件做对比,并标记出冲突的地方,当解决完所有冲突后执行Add to Index操作,然后不要马上执行commit操作,先执行Continue Rebase操作,然后再执行Commit操作。是不是有写麻烦?如果使用merge指令就没有Continue Rebase操作了,但解决冲突就没那么明显了,他自动将远程和本地的代码合并到本地,然后用上图中的形式标记出来。解决完冲突后执行Add to Index ——Commit操作。所以这就看你个人喜好了。

Git学习笔记(2)-Eclipse中Git插件使用的更多相关文章

  1. [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar中的类解压后放在运行jar中

    前文: [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar打在jar包中 使用7z打开压缩包,查看所有依赖的jar都被解压以包名及class的方式存储在了运行jar中,此时jar的 ...

  2. [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar打在jar包中

    本文需要参考前文: [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar在子目录中 上文是导出的运行的依赖jar被放在了子目录中,本文是将依赖jar放在可运行jar的本身,这样发布的 ...

  3. [学习笔记] 在Eclipse中导出可以直接运行的jar,依赖的jar在子目录中

    工程创建可参考前文: [学习笔记] 在Eclipse中使用Hibernate,并创建第一个工程,数据库为Oracle XE 在工程上鼠标右键: 找到java 选择 Runable JAR file N ...

  4. [学习笔记] 在Eclipse中导入项目

    参考前文:[学习笔记] 在Eclips 中导出项目 选择已经导出的文件: 导入之后,项目结构如下: 至此,完成.

  5. git学习四:eclipse使用git提交项目

    支持原创:http://blog.csdn.net/u014079773/article/details/51595127 准备工作: 目的:eclipse使用git提交本地项目,提交至远程githu ...

  6. git学习五:eclipse使用git下载项目

    原文:http://blog.csdn.net/u014079773/article/details/51597213 准备工作: 目的:从远程仓库github上down所需的项目 eclipse使用 ...

  7. Git学习笔记(一)Git初识及基本操作

    详细完整教程:官方文档,廖神Git教程,武sir 一.什么是Git? 定义:Git是分布式版本控制系统. 1.1什么是版本控制 我们可以回想以下,在我们上学毕业要写论文或是准备一份演讲稿的时候,都会用 ...

  8. [学习笔记] 在Eclipse中添加用户库 Add User Libraries ,在项目中引用用户库

    如果还没有安装Eclipse, 则请参考前文:  [学习笔记] 下载.安装.启动 Eclipse(OEPE) 添加用户库 本文主要介绍在项目中直接使用第三方库的情况.就是把第三方的jar文件直接放到某 ...

  9. [学习笔记] 在Eclipse中使用Hibernate,并创建第一个工程

    在Eclipse中使用Hibernate 安装 Hibernate Tools 插件 https://tools.jboss.org/downloads/ Add the following URL ...

随机推荐

  1. d3实现折线图

    如果觉得作者写的对你有用,可以打赏作者哦!owo  多少不限,支持而已. 实现折线图不得不说的是d3的线段生成器: 假设data=[1,2,5,7,5,8,2,6]var line = d3.svg. ...

  2. 《JAVA语言》课问题汇总

    一.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码.补码跟原码这几个概念,然后编写示例程序,对正数.负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示 ...

  3. 【并行计算-CUDA开发】从熟悉到精通 英伟达显卡选购指南

    举报 说到显卡,就不免令人想到英伟达和AMD两家面向个人消费级和企业级最大的显示芯片生产企业,英伟达和AMD,今天小编为大家简单的介绍一下英伟达的显卡选购方面的攻略,为一些想要购买显卡的用户提供一些参 ...

  4. 【算法集中营】CRC16 三种算法及c实现

    标准CRC生成多项式如下表: 名称       生成多项式             简记式*  标准引用    CRC-4       x4+x+1                  3        ...

  5. C# String与Byte数组的转换

    string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); byte[] byteArray = Enc ...

  6. csv文件的读取写法 from Udacity

    长版本 import unicodecsv enrollments_filename = 'C:\\Users\\xxxxx\\Desktop\\try.csv' enrollments = [] f ...

  7. [转帖]Kubernetes CNI网络最强对比:Flannel、Calico、Canal和Weave

    Kubernetes CNI网络最强对比:Flannel.Calico.Canal和Weave https://blog.csdn.net/RancherLabs/article/details/88 ...

  8. spring-boot 连接数据库(六)

    环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 mysql 5.7 准备 接下来的数据库操作基于 mysql,所以需要一套可用的 mysql 环境. 引入 j ...

  9. SpringBoot2.x集成WebSocket

    WebSocket 不做过多得介绍,这里有篇比较全面得文章      Spring Boot系列十六 WebSocket简介和spring boot集成简单消息代理 我这里是精简版,只挑出核心代码记录 ...

  10. SOSdp

    layout: post title: SOSdp author: "luowentaoaa" catalog: true tags: mathjax: true - codefo ...