egit 冲突的解决方法

egit 冲突的解决方法

  1. Git基本概念
    在Git中,我们将需要进行版本控制的文件目录叫做一个仓库(repository),每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理,Git都能跟踪并记录在该目录中发生的所有更新。
    现在我们已经知道什么是repository(缩写repo)了,假如我们现在建立一个仓库(repo),那么在建立仓库的这个目录中有一个“.git”的文件夹。这个文件夹非常重要,所有的版本信息,更新记录,以及Git进行仓库管理的相关信息全部保存在这个文件夹里面。所以,不要修改/删除其中的文件,以免造成数据的丢失。
    进一步的讲解请参考下面一张图,大概展示出了我们需要了解的基本知识。

egit 冲突的解决方法
根据上面的图片,下面给出了每个部分的简要说明:
 Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
 WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
 .git:存放Git管理信息的目录,初始化仓库的时候自动创建。
 Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
 Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
 Stash:是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。
有了上面概念的了解,下面就开始在本地repo上进行Git操作了。
2. 文件冲突的处理
2.1. 把远程仓库同步到本地仓库
 【team】>【Synchronous Workspace】:把远程版本库的内容pull到本地版本库。这时会有冲突文件的提示:
egit 冲突的解决方法

 本地历史记录里面会有更新的记录:
egit 冲突的解决方法

2.2. 把冲突文件提交到本地库
 先把文件添加到暂存区:
egit 冲突的解决方法

 添加后图标的变化:
egit 冲突的解决方法

 提交到本地库:
egit 冲突的解决方法

egit 冲突的解决方法
 提交后:
egit 冲突的解决方法

2.3. 在本地库对冲突文件进行合并
 Pull代码到工作空间:
egit 冲突的解决方法

 在工作空间编辑冲突文件:
egit 冲突的解决方法

 编辑完成后(注意图标的变化):
egit 冲突的解决方法

2.4. 提交到本地库和远程库
 先把文件添加到暂存区:
egit 冲突的解决方法
 添加后图标的变化:
egit 冲突的解决方法

 提交到本地库和远程库:

egit 冲突的解决方法

 提交后:
egit 冲突的解决方法
到此,冲突文件处理结束。