在开发中我们需要保持远程仓库清洁,不希望本地开发多次提交信息都提交到远程仓库;
第一种方法:git rebase -i
在终端输入: git rebase -i HEAD~2 这里的 HEAD~2 表示合并最近两次的提交, 如果想合并最近三次的提交修改为: git rebase -i HEAD~3
touch a.txt
git add .
git commit -m "first"
touch b.txt
git add .
git commit -m "second"
查看version controll
分支信息
- 这时候本地feature分支有2条提交信息了,现在我们想合并一条提交到远程仓库
git rebase -i HEAD~2
image.png
- 将第二行的 pick 改为 s “s” 为 “squash” 的缩写
“squash” 的意思是 将倒数第二次提交 压缩为最后一次提交
-
:wq!保存
image.png
4.重新修改提交信息
image.png
-
:wq!保存,查看version controll
image.png -
push到远程仓库
git push -u origin feature
第二种方法:git commit --amend
这种方式就是把本次想要提交的和上次合并一个
touch a.txt
git add .
git commit -m "test amend"
touch b.txt
git add .
//会提示你重新修改描述信息,根据你自己来决定
git commit --amend
第三种方法:git reset
参考:五、git reset
查看刚开始verison controller
touch c.txt
git add .
git commit -m "test reset"
image.png
git reset --soft 64abeb0c
#这时候64abeb0c前的提交都是未暂存状态
git add .
git commit -m "new test reset"
image.png
网友评论