eclipse git控件操作 回退到历史提交 重置 删除(撤销)历史的某次提交
2016-12-09 17:17
381 查看
工作区--》暂存区--》本地仓库--》远端git仓库
(个人理解,不对之处望指正)
操作方式1:(分支最新提交记录)选择项目 鼠标右键--team--reset--Remote Tracking 选择远端git仓库 分支的最新版本
--Reset type下有三个选项
Soft:工作区文件的修改不变,提交记录被重置(文件存在于暂存区中;当提交记录commit写错时,可以选择这个方式来重新填写commit记录);newFile.text文件的状态是 加号 +
Mixed:工作区文件的修改不变,提交记录被重置(文件存在于工作区,需要重新提交;当提交记录commit中有几个文件并不想上传,可以选择这个方式,来重新选择上传的文件);newFile.text文件的状态是 问号 ?
Hard:工作区文件的修改被删除,使用分支最新版本(远端git服务器里面的最新代码,覆盖本地的代码);newFile.text被删除了
--点击Reset执行
操作方式2:(当前分支的任意提交记录)项目右键--team--show in history --选择commit记录 鼠标右键--Reset
效果同方式1
Soft、Mixed 操作都会使得head记录改变(head代表当前工作空间所指向commit的记录)
Hard 如果文件只在工作区(标志为问号),则不会发生改变,反之则被覆写
撤销操作会自动生成一条提交记录
以下为个人理解:
Reset --Hard(谨慎使用):暂存区、本地仓库的修改,会被删除commit记录、文件;
已经提交到远端git仓库的,会提示你pull最新的代码,如果有提交修改记录到本地仓库,自动先pull代码再合并)
(比如我重置到某个版本,进行代码测试,看看之前的版本代码的效果)
Rever commit:操作的记录会保存,自动生成commit记录,撤销是针对操作commit记录生效(比如我刚刚提交的一份代码有问题,要删除掉刚提交的代码)
举个例子:假如有提交记录是 从1递增到5:1,2,3,4,5
操作第3条记录
reset --Hard 的效果是:1,2,3 (3后面的记录没了)
revert commit的效果是:1,2,4,5(3这一条记录没了)
清除本地git修改
项目右键--team--Advanced--clean...(清除分支的修改)
项目右键--team--stashes--stash Changes:存储本次修改(仅限于未提交)
项目右键--team--show in history 会看到完整的提交记录
项目右键--team--show in history -- modify :可以修改注释
eclipse,git控件导入Maven项目:import--Git--Projects from Git--Existing Local repository(导入一个存在的本地库)--Next 选择项目--nex--三个选择:
Import existing Eclipse Projects(会自动导入成项目,一般选这个),
Import using the New Project Wizard(使用项目向导可重新配置项目),
Import as general project(类似于文件夹层次,可以手动选择转换成项目)
(个人理解,不对之处望指正)
Reset操作
假设我在工作区中 创建了一个新的文件 newFile.text,并提交到了本地仓库中操作方式1:(分支最新提交记录)选择项目 鼠标右键--team--reset--Remote Tracking 选择远端git仓库 分支的最新版本
--Reset type下有三个选项
Soft:工作区文件的修改不变,提交记录被重置(文件存在于暂存区中;当提交记录commit写错时,可以选择这个方式来重新填写commit记录);newFile.text文件的状态是 加号 +
Mixed:工作区文件的修改不变,提交记录被重置(文件存在于工作区,需要重新提交;当提交记录commit中有几个文件并不想上传,可以选择这个方式,来重新选择上传的文件);newFile.text文件的状态是 问号 ?
Hard:工作区文件的修改被删除,使用分支最新版本(远端git服务器里面的最新代码,覆盖本地的代码);newFile.text被删除了
--点击Reset执行
操作方式2:(当前分支的任意提交记录)项目右键--team--show in history --选择commit记录 鼠标右键--Reset
效果同方式1
Soft、Mixed 操作都会使得head记录改变(head代表当前工作空间所指向commit的记录)
Hard 如果文件只在工作区(标志为问号),则不会发生改变,反之则被覆写
Revert commit操作
选择项目--team--Show in History--选择版本右击--Revert commit--提交撤销操作会自动生成一条提交记录
以下为个人理解:
Reset --Hard(谨慎使用):暂存区、本地仓库的修改,会被删除commit记录、文件;
已经提交到远端git仓库的,会提示你pull最新的代码,如果有提交修改记录到本地仓库,自动先pull代码再合并)
(比如我重置到某个版本,进行代码测试,看看之前的版本代码的效果)
Rever commit:操作的记录会保存,自动生成commit记录,撤销是针对操作commit记录生效(比如我刚刚提交的一份代码有问题,要删除掉刚提交的代码)
举个例子:假如有提交记录是 从1递增到5:1,2,3,4,5
操作第3条记录
reset --Hard 的效果是:1,2,3 (3后面的记录没了)
revert commit的效果是:1,2,4,5(3这一条记录没了)
清除本地git修改
项目右键--team--Advanced--clean...(清除分支的修改)
项目右键--team--stashes--stash Changes:存储本次修改(仅限于未提交)
项目右键--team--show in history 会看到完整的提交记录
项目右键--team--show in history -- modify :可以修改注释
eclipse,git控件导入Maven项目:import--Git--Projects from Git--Existing Local repository(导入一个存在的本地库)--Next 选择项目--nex--三个选择:
Import existing Eclipse Projects(会自动导入成项目,一般选这个),
Import using the New Project Wizard(使用项目向导可重新配置项目),
Import as general project(类似于文件夹层次,可以手动选择转换成项目)
相关文章推荐
- eclipse git控件操作 回退到历史提交 重置 删除(撤销)历史的某次提交
- Android Eclipse之Git插件安装、配置、提交、修改、冲突、查看历史、覆盖。
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Git基础-获取仓库、提交、查看历史、撤销
- Git使用本地仓库之基本操作--版本回退,后悔怎么办,撤销未提交的修改
- Git 在提交之前撤销add操作
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- Github Git彻底删除历史提交记录的方法
- git 在提交之前撤销add操作
- git 提交前撤销add操作
- Android Eclipse之Git插件安装、配置、提交、修改、冲突、查看历史、覆盖。
- Git 仓库中删除大文件的历史提交记录
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- git 撤销分支删除 操作 (git delete branch undo)
- Git基础 - 查看提交历史,限制输出长度,撤销
- Git使用 - 回退到历史提交版本
- 记录:git删除误提交的Eclipse项目文件与配置文件