rebase命令学习

reword

修改你的提交信息.
演示
第一步:

1
git rebase -i HEAD~2

captrue.png
第二步:
将提交7前面的pick改成reword

captrue.png
然后键盘按 ctrl + x

captrue.png
键盘按Y.然后再按 回车

captrue.png
修改成:提交8,然后键盘输入 ctrl+x 在 按 y 在 按回车.

captrue.png
修改完成.

edit

看名字就是修改的意思.你可以修改任意位置已经提交的内容.
演示
首先提交两个:

captrue.png
内容分别为:
第一次提交:

1
2
3
4
class Test {
fun main(){
}
}

第二次提交:

1
2
3
4
5
class Test {
fun main(){
print("111111")
}
}

执行命令:git rebase -i HEAD~2

captrue.png
比如我要修改第一次提交的内容.那就需要将第一个的pick改成edit:

captrue.png
然后按 ctrl+x y 回车
这时候我的工作取回到了第一次提交的时候的样子:

captrue.png
这时候我们修改下:
captrue.png
修改完成后,就需要执行git add .表示保存这次修改.
然后执行commit操作.commit有两种方式

  • –amend: 表示这次的提交内容还是会被保存在当前这个提交信息上
  • -m : 会新开一个提交

这里我执行 git commit --amend

captrue.png
现在就需要执行git rebase --continue,表示继续下一个指令操作:

captrue.png
可以看到出现了合并冲突.我们需要解决下.
解决完继续执行git add . git commit --amend

captrue.png
解决完成了合并冲突:
继续执行git rebase --continue

captrue.png
可以看到我们成功在第一次提交信息里面增加了信息.
如果将中途的git commit --amend换成git commit -m 'cha'会发现:

captrue.png

pick

这个代表着一次提交如果你删除了那行pick,那么你本地的全部提交都会被删除.谨慎删除.