Git 基本操作2--撤销修改
2017-02-16 17:30
260 查看
其实当我们选择了IT行业的那一刻起,就跟加班联系在了一起,我相信大部分人都有决战到凌晨的经历,我刚毕业曾经加班到凌晨一点,回家路上,拖着疲惫的双腿,走在城中村的小路上,任凭细雨轻抚脸庞,那时候很享受那种感觉,而实际加班的过程当中我们有时候思路是不清晰的,这时候难免会出现一些误差,我见过一个很知名的app还有test的字样,而我们在版本控制中如果遇到这种情况,我们怎么撤销修改呢,今天就重点讲解讲解:
需要注意的是我们意识到自己错误的情况的时间点,有好几种情况,理论不多说,直接实际操作:
1.如果误修改尚未add 到暂存区。可以使用一下命令:git checkout -- file名称
情节分析:
使用git status 查看出状态
通过查看,可以看到并没有add,同时有提示,
使用 git checkout -- 放弃修改。这时你庆幸还好没有被发布出去,这时候你想修改,之后查看,确实已经撤销了修改。
说明:git checkout --file 的意思就是撤销工作区的修改。
2.如果误修改已经add到暂存区,但没有commit到分支。使用 git reset HEAD file名称
有时候,我们操作过程中,并不是每次都意识到有误操作,比如改完就顺手add到索引区了,这时候突然想到哦,刚才有条测试语句 没有删除 ,这时候怎么办? 我们查看下状态:
执行git reset HEAD addme.txt,查看状态:
说明:git reset HEAD file 是将修改从索引区移除(unstage),回退到工作区。
如果已经提交到版本库了,这时候怎么办?如果又push到远程仓库,这时候又怎么办?就是下边情况,我想放到版本回退里去讲解
3.如果误修改已经commit到分支。
4.如果误修改已经push到了远程仓库。
知识点总结:撤销修改:1.未add ,使用git checkout -- file名称。
2.add,未commit,使用 git reset HEAD file,回到第一种情况。
3.已经提交的,请看下一篇版本回退。
需要注意的是我们意识到自己错误的情况的时间点,有好几种情况,理论不多说,直接实际操作:
1.如果误修改尚未add 到暂存区。可以使用一下命令:git checkout -- file名称
情节分析:
zxdeMacBook-Pro:work zs$ cat addme.txt GIT records your name and email address I love you , cangjingkong!
使用git status 查看出状态
zxdeMacBook-Pro:work zs$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: addme.txt no changes added to commit (use "git add" and/or "git commit -a")
通过查看,可以看到并没有add,同时有提示,
use "git checkout -- <file>..." to discard changes in working directory
使用 git checkout -- 放弃修改。这时你庆幸还好没有被发布出去,这时候你想修改,之后查看,确实已经撤销了修改。
zxdeMacBook-Pro:work zs$ git checkout -- addme.txt zxdeMacBook-Pro:work zs$ cat addme.txt GIT records your name and email address
说明:git checkout --file 的意思就是撤销工作区的修改。
2.如果误修改已经add到暂存区,但没有commit到分支。使用 git reset HEAD file名称
有时候,我们操作过程中,并不是每次都意识到有误操作,比如改完就顺手add到索引区了,这时候突然想到哦,刚才有条测试语句 没有删除 ,这时候怎么办? 我们查看下状态:
zxdeMacBook-Pro:work zs$ cat addme.txt GIT records your name and email address I love you, cangjingkong! zxdeMacBook-Pro:work zs$ git add addme.txt zxdeMacBook-Pro:work zs$ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: addme.txt
执行git reset HEAD addme.txt,查看状态:
zxdeMacBook-Pro:work zs$ git reset HEAD addme.txt又回到了第一种情况,在重复操作1即可。
Unstaged changes after reset:
M addme.txt
zxdeMacBook-Pro:work zs$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: addme.txt no changes added to commit (use "git add" and/or "git commit -a")
说明:git reset HEAD file 是将修改从索引区移除(unstage),回退到工作区。
如果已经提交到版本库了,这时候怎么办?如果又push到远程仓库,这时候又怎么办?就是下边情况,我想放到版本回退里去讲解
3.如果误修改已经commit到分支。
4.如果误修改已经push到了远程仓库。
知识点总结:撤销修改:1.未add ,使用git checkout -- file名称。
2.add,未commit,使用 git reset HEAD file,回到第一种情况。
3.已经提交的,请看下一篇版本回退。
相关文章推荐
- Git使用本地仓库之基本操作--版本回退,后悔怎么办,撤销未提交的修改
- Git_Git基本操作_第7课_撤销修改
- git基本命令之删除撤销操作
- Git 基本操作1--修改提交(add,commit)
- git-【四】撤销修改和删除文件操作
- MAC 基本命令操作git 修改 提交 更新
- Git 本地的撤销修改和删除操作
- Git撤销提交和修改相关操作
- Git操作-撤销修改
- git 修改上次提交信息 与 撤销此操作.
- Git 本地的撤销修改和删除操作
- SQL 基本操作 删除 修改 刷新 修改版
- 用SQL语句添加删除修改字段及一些表与字段的基本操作 .
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- pro git 阅读笔记1 基本操作
- git 在提交之前撤销add操作
- php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
- 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
- git学习三 git基本操作
- MVC 3 基本操作增加修改