七、git合并多次提交

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

第一种方法: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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 以下笔记主要参考gitgot,大致了解git使用和原理。 第一部分我们从个人的视角去研究如何用好Git,并且揭示G...
    carolwhite阅读 7,065评论 0 1
  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 9,167评论 0 10
  • 朋友整理的,放这里偶尔过来看看 一、基本介绍 首先,Git作为版本控制系统,他的原理与SVN为首的集中式版本控制系...
    allenzhan阅读 4,633评论 0 3
  • Git init 在当前目录下初始化创建Git仓库 先要cd Git add . 将所有修改添加到暂存区 git ...
    lhg_serven阅读 4,290评论 0 0
  • 配置 首先是配置帐号信息ssh -T git@github.com # 登陆 github 修改项目中的个人信息 ...
    guanguans阅读 4,099评论 0 3

友情链接更多精彩内容