git revert和git reset的区别
2015-12-09 10:22
344 查看
git revert和git reset的区别
git revert 是撤销某次操作,此次操作之前的commit都会被保留git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区
具体一个例子,假设有三个commit, git st:
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c
当执行git revert HEAD~1时, commit2被撤销了
git log可以看到:
commit1:add test1.c
commit3:add test3.c
git status 没有任何变化
如果换做执行git reset --soft(默认) HEAD~1后,运行git log
commit2: add test2.c
commit1: add test1.c
运行git status, 则test3.c处于暂存区,准备提交。
如果换做执行git reset --hard HEAD~1后,
显示:HEAD is now at commit2,运行git log
commit2: add test2.c
commit1: add test1.c
运行git st, 没有任何变化
另外:
git revert <commit log string>是撤消该commit,作为一个新的commit。
转自: http://blog.csdn.net/koffuxu/article/details/6731876
相关文章推荐
- js “+” 连接字符串&数字相加 数字相加出现多位小数 函数调用单引号双引号嵌套和转义字符的使用
- 项目管理实践教程
- 通过InitBinder注解,做到全局的格式化转换
- My97DatePicker相关笔记(未完待续)
- 【转稿】:loser的共同特征
- html5学习:轮播图
- 夺命雷公狗---javascript NO:29 Object类
- Android递归方式删除某文件夹下的所有文件
- 04 实现图像与键盘的交互操作-DirectX游戏开发
- 蜂鸣器驱动电路 自主开发设计
- SQLserver中的xp_cmdshell
- PHPStorm 10 激活
- 夺命雷公狗---javascript NO:28 原型链
- [转载]内核初始化优化宏(__init, __devinit)
- Http1.1特定的状态码
- 完美实现bootstrap分页查询
- Android调用系统安装/卸载apk过程
- Android 编译系统 (二)
- TSQL方法获取服务器磁盘空间信息
- 《C语言综合研究第1章宣讲会研究报告_20130609_v1.0》