eclipse git控件操作 回退到历史提交 重置 删除(撤销)历史的某次提交

1.工作区:       git add

2.暂存区:       git commit

3.本地仓库:    git push(此阶段: 提交记录 可以被修改)

4.远端git仓库: (此阶段: 提交记录 无法被删除, 可以利用git rebase来合并记录)

(个人理解,不对之处望指正)

 

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(类似于文件夹层次,可以手动选择转换成项目)

 

 

你可能感兴趣的:(SVN,Git)