egit 冲突的解决方法
egit 冲突的解决方法
- Git基本概念
在Git中,我们将需要进行版本控制的文件目录叫做一个仓库(repository),每个仓库可以简单理解成一个目录,这个目录里面的所有文件都通过Git来实现版本管理,Git都能跟踪并记录在该目录中发生的所有更新。
现在我们已经知道什么是repository(缩写repo)了,假如我们现在建立一个仓库(repo),那么在建立仓库的这个目录中有一个“.git”的文件夹。这个文件夹非常重要,所有的版本信息,更新记录,以及Git进行仓库管理的相关信息全部保存在这个文件夹里面。所以,不要修改/删除其中的文件,以免造成数据的丢失。
进一步的讲解请参考下面一张图,大概展示出了我们需要了解的基本知识。
根据上面的图片,下面给出了每个部分的简要说明:
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到本地版本库。这时会有冲突文件的提示:
本地历史记录里面会有更新的记录:
2.2. 把冲突文件提交到本地库
先把文件添加到暂存区:
添加后图标的变化:
提交到本地库:
提交后:
2.3. 在本地库对冲突文件进行合并
Pull代码到工作空间:
在工作空间编辑冲突文件:
编辑完成后(注意图标的变化):
2.4. 提交到本地库和远程库
先把文件添加到暂存区:
添加后图标的变化:
提交到本地库和远程库:
提交后:
到此,冲突文件处理结束。