git 版本回退总结
2015-07-29 14:14
141 查看
git 版本回退总结
(本节内容参考了廖雪峰的网站)
工作区有一个隐藏目录 .git ,这个不是工作区,而是Git的版本库。
Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index )的暂存区,还有 Git 为我们自动创建的第一个分支 master ,以及指向 master的一个指针叫 HEAD 。
HEAD指向的版本就是当前版本,因此,Git 允许我们在版本的历史之间穿梭,使用命令
穿梭前,用
要重返未来,用
用
git checkout – file 可以丢弃工作区的修改:
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
小结
又到了小结时间。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
(本节内容参考了廖雪峰的网站)
工作区有一个隐藏目录 .git ,这个不是工作区,而是Git的版本库。
Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index )的暂存区,还有 Git 为我们自动创建的第一个分支 master ,以及指向 master的一个指针叫 HEAD 。
HEAD指向的版本就是当前版本,因此,Git 允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id。
穿梭前,用
git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用
git reflog查看命令历史,以便确定要回到未来的哪个版本。
用
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别。现在,你又理解了Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。
git checkout – file 可以丢弃工作区的修改:
[code]$ git checkout -- readme.txt
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
小结
又到了小结时间。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
相关文章推荐
- 如何将character_set_database latin1 改为 gbk
- Android Studio 发生 Error:Execution failed for task ':app:packageDebug'.
- UVA 12433 Rent a Car
- 列表[List]基本操作
- iOS开发,更改状态栏(StatusBar)文字颜色为白色
- 【Unity】代码加密(二)dll加密so加密
- poj 1135 Domino Effect(dijkstra)(中等)
- Java爬虫,信息抓取的实现
- python使用mysql数据库
- wcf中 生成x5.09证书的工具
- php的各种配置
- 方法级别的java日志输出控制(一)
- gravity属性设置
- 《JavaScript深入浅出》学习笔记
- exfat文件系统(一)
- 微信图片选择器
- angularJS中的路由
- Linux学习笔记记录
- 7. 异常处理总结
- 畅通工程