七、git合并多次提交

2019-11-01  本文已影响0人  緦菍亭芷

在开发中我们需要保持远程仓库清洁,不希望本地开发多次提交信息都提交到远程仓库;

第一种方法: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


分支信息
  1. 这时候本地feature分支有2条提交信息了,现在我们想合并一条提交到远程仓库
git rebase -i HEAD~2
image.png
  1. 将第二行的 pick 改为 s “s” 为 “squash” 的缩写
    “squash” 的意思是 将倒数第二次提交 压缩为最后一次提交
image.png
  1. :wq!保存


    image.png

4.重新修改提交信息


image.png
  1. :wq!保存,查看version controll


    image.png
  2. 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

image.png
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
上一篇 下一篇

猜你喜欢

热点阅读