Learn Git - 常用命令学习总结(2)
2020-04-09 本文已影响0人
xianling_he
学习网站:https://learngitbranching.js.org/
Git Rebase
![](https://img.haomeiwen.com/i20044978/5a6f10362454c60d.png)
当前的分支类似如下
-
当前在bugFix分支
-
2个分支一个主分支master,另外一个是bugFix分支
image.png
-
使用git rebase master
-
当分支重新建立c2是master,c3是bugFix
image.png
完成如下操作
![](https://img.haomeiwen.com/i20044978/d95883429fb49eac.png)
git checkout -b bugFix
git commit
git checkout master
git commit
git checkout bugFix
git rebase master
Git概念 - header
- 当前指定的分支
-
header指定最近一次commit内容部分
image.png
-完成如下操作时候header的指向情况
git checkout c1
git checkout master
git commit
git checkout c2
![](https://img.haomeiwen.com/i20044978/1dd105742c4ec69b.png)
Git概念 - RelativeRefs (^)
![](https://img.haomeiwen.com/i20044978/189f882bf85a9cf1.png)
![](https://img.haomeiwen.com/i20044978/2e298965b1e6318b.png)
-
完成head指向c3的分支
image.png
git checkout bugFix^
Git概念 - Relative Refs (~)
![](https://img.haomeiwen.com/i20044978/892c4ce6790277ed.png)
-
当前master指向c4
image.png
-
使用git checkout Head~4, Head指向了c0
image.png
Branch forcing
![](https://img.haomeiwen.com/i20044978/8a6f13b838eedfa5.png)
![](https://img.haomeiwen.com/i20044978/a38c0cd849ff2829.png)
- 代码执行以后
git branch -f master HEAD~3
![](https://img.haomeiwen.com/i20044978/269a01168456922d.png)
Git概念 - Reversing Changes in Git
-
Git Reset
image.png
git reset HEAD~1
![](https://img.haomeiwen.com/i20044978/57d56e01ec34ee4d.png)
-
Git Revert
image.png
git revert HEAD
![](https://img.haomeiwen.com/i20044978/67d7d9fa9d64554e.png)
-
当前的branch状态
image.png
-
代码如下:
git reset HEAD~1
git checkout pushed
git revert HEAD
-
完成代码以后的branch如下
image.png