git reset --hard命令小结
2016-03-12 11:46
274 查看
参考
根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,此命令 慎用!
# git log //查看提交日志
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <askxuefeng@gmail.com>
Date: Tue Aug 20 15:11:49 2013 +0800
提交test.txt文件
注意:如果觉得眼花缭乱,可以单独显示一行commit ID和
# git log --pretty=oneline //查看提交一行日志
3628164fb26d48395383f8f31179f24e0882e1e0 提交test.txt文件
# git reset --hard +3628164fb26d48395383f8f31179f24e0882e1e0 //本地代码回退到某个版本
或执行:git reset --hard + 3628164 //本地代码回退到某个版本
# git reflog //用来记录你的每一次命令
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file
回退小结
现在总结一下:
1.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 # git reset --hard commit_id。(commt_id为
7 位)
2.穿梭前,用git log可以查看提交历史,以便确定要回退到过去的哪个版本,[b]使用命令
# git reset --hard commit_id
3.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本,使用命令
# git reset --hard commit_id[/b]
合并分支小结
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name> //git merage dev;把dev合并到master分支,这种方式:删除分支后,会丢失分支信息(缺点)
或者:git merge --no-ff -m "提交合并到master分支" dev//把dev分支合并到master分支; 这种方式:每次合并都有合并的分支信息,从历史分支中卡可以看到分支信息(优点)
删除分支:git branch -d <name>
git 删除 错误 提交的 commit
方法:根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,此命令 慎用!
# git log //查看提交日志
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Author: Michael Liao <askxuefeng@gmail.com>
Date: Tue Aug 20 15:11:49 2013 +0800
提交test.txt文件
注意:如果觉得眼花缭乱,可以单独显示一行commit ID和
# git log --pretty=oneline //查看提交一行日志
3628164fb26d48395383f8f31179f24e0882e1e0 提交test.txt文件
# git reset --hard +3628164fb26d48395383f8f31179f24e0882e1e0 //本地代码回退到某个版本
或执行:git reset --hard + 3628164 //本地代码回退到某个版本
# git reflog //用来记录你的每一次命令
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file
回退小结
现在总结一下:
1.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 # git reset --hard commit_id。(commt_id为
7 位)
2.穿梭前,用git log可以查看提交历史,以便确定要回退到过去的哪个版本,[b]使用命令
# git reset --hard commit_id
3.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本,使用命令
# git reset --hard commit_id[/b]
合并分支小结
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name> //git merage dev;把dev合并到master分支,这种方式:删除分支后,会丢失分支信息(缺点)
或者:git merge --no-ff -m "提交合并到master分支" dev//把dev分支合并到master分支; 这种方式:每次合并都有合并的分支信息,从历史分支中卡可以看到分支信息(优点)
删除分支:git branch -d <name>
相关文章推荐
- Makefile_文件制作浅谈
- 调查问卷心得体会
- oc中的类和对象
- 学习PHP步步高(开篇)
- Java与设计模式-模板模式
- Java 征途:行者的地图
- Makefile_文件制作浅谈
- CMake使用
- 线程浅析
- 大数据:spark环境部署
- ARM第一部分-ARM的异常处理方式简单介绍
- [手游新项目历程]第1天-连不上服务器可能是防火墙
- 2016蓝桥杯假期任务之《K好数》
- 原生态JS操作ajax(一)
- 表头居中
- Object-C HelloWorld 编译运行
- excel自动化翻译2
- 灌注和宝石性道法价比分析
- 怎么解决Android studio导入项目卡死
- [手游新项目历程]第2天-webSocket资料