【重学Git】高级命令篇
2024-08-31 00:53:42
1.分离HEAD。HEAD 总是指向当前分支上最近一次提交记录。 所谓分离HEAD,就是让HEAD直接指向某一条具体的提交记录,而不是默认的通过分支名指向当前分支的最近一条提交记录。
2.相对引用^。如 git checkout HEAD^ 表示移动到当前HEAD指向提交节点的父节点。
3.相对引用~。如 git checkout HEAD~3 表示移动到当前HEAD指向提交节点的上三个祖先节点。
(以上三个指令都是让HEAD的指向跳来跳去,那这有什么用呢?有的,它最大的作用在于移动分支,也就是篡改提交树,当然并不涉及远程分支)
4.git branch -f master HEAD~3: 表示强制将master分支指向当前HEAD所指提交节点往上的第三级父提交,但是我并不接受这种做法,因为胡乱地修改分支指向会使得提交树产生混乱。
4.撤销本地提交,git reset HEAD~2 :表示撤销提交一直到到当前HEAD指向提交节点往上的第二级提交节点。
5.撤销远程提交,也就是我们常说的:版本回退。git revert HEAD :表示撤销当前HEAD指向的提交记录,注意:这跟reset参数的用法是不一样的。revert参数指的是需要被舍弃的某一个提交记录。它会产生一个新的提交记录,或者叫“撤销记录”。用于保证提交树的走向一直是单向的。
(revert之后再push到远程,就可以看到版本已经回退了)
最新文章
- Put your application in production
- iis7下配置php出现404.17错误的解决办法
- Dapper学习 - Dapper的基本用法(二) - 存储过程/函数
- Scalaz(4)- typeclass:标准类型-Equal,Order,Show,Enum
- 同样有缓冲区,为什么bufferedReader输入流不需要清空缓冲区?而bufferedWriter需要清空缓冲区呢?
- ffmpeg mp3 to m3u8
- C++经典编程题#2:大象喝水
- java版的YUI3 combine服务-Combo Handler
- 【转载】c/c++在windows下获取时间和计算时间差的几种方法总结
- java注解Annotation
- shell小技巧
- 在Spring Boot中输出REST资源
- SpringCloud的分布式配置及消息总线
- Spring Boot学习总结四
- UITextField属性及方法说明
- Maya闪退
- oracle 12.2 linux/solaris正式发布
- What is API Level?
- C# volatile 关键字
- python 之datetime库学习