使用git指令 将多次commit合并成一次

  • Post author:
  • Post category:其他

1、可以先查看工作目录当前状态 git status(有多种状态,先说一种不需要自该的状态:

   

2.git  commit 提交 

(注意:然后进入一个界面,这个页面是用来填写填写描述信息的,在初始状态下,不能编辑这个文件,需要按一下小写“i”来切换到插入模式,输入完成后不要按回车,按esc键,返回命令模式,连续输入两个大写“Z”,就保存并退出了)

3、查看提交状态 git log,(按q退出)

这样就会显示你在develop之前有几次提交,然后接下来我们就要将多次commit合并成一次

4.git rebase  -i origin develop

会出现编辑窗口,把除第一个以外的pick改为s或者f(此处为简写,可以看编辑窗对各自的定义)

(这个截图非本项目的,只是名字不一样,但是操作都是一样的)

然后修改一下提交的描述即可

5.指令执行完以后可以 在git log  检查一下 成功的话会在develop上面显示一次commit

6、最后一定要git push -f  一下,强制远程上面吧commit次数更改为一次

 

7、备注:

如果在终端出现的页面不能编辑,需要按下小写字母 “ i ” 切换到输入模式;

如果是在下方终端直接出现的编辑器页面 就可以直接在编辑器页面编辑 这样就要用到Vim/Vi模式

在下出现 –INSERT– 代表的是输入模式

将光标放在需要修改的2~以下的 操作和@1是一样的,然后要保存 这里的保存是Vi的保存方法

按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!这样就转换成了一般模式

在一般模式中按下 :wq 储存后离开 vi( :wq的原理——>在命令模式下按下:(英文冒号)就进入了底线命令模式。

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。)

在此合并commit的过程中可能还会到  git   add . 

 git add .   提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

二。另一种指令:、

比如你有三次提交

那就可以利用指令 git rebase -i HEAD~3

在多次合并成一次的时候  有时候是不允许你合并成一次的,比如:

(1)你在合并的时候有冲突,然后你解决冲突有提交了一次,这样就会保持2次提交,合并不成一次

(2)你merge过父分支。又解决过冲突,这样应该是保持3次提交。

 

 

 


版权声明:本文为Sunny_lxm原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。