git压缩/合并多次commit提交为1次commit提交

git压缩/合并N次commit提交为1次commit提交

假设有最近3次提交:

复制代码
commit_id1
commit_id2
commit_id3

目标是把以上3次commit合并成1个commit,注意,最新的commit提交在最上面。

在git bash里面的操作步骤:

(1)git rebase命令:

复制代码
git rebase -i HEAD~3

(2)在弹出的窗口中把 pick 改为 s (即squash )。

这一步,会弹出一个窗口,键盘输入 i ,然后把第2个和第3个 pick 改为 s,最终形如:

复制代码
pick commit_id1   '注释*'

s commit_id2   '注释*'

s commit_id3   '注释*'

(3)然后按 Ctrl+C ,输入 :wq 退出。

(4)此时,变成常规的git提交过程了,

复制代码
git add . 
git rebase --continue

(5)git push到你的远程仓库即可。

注意,如果中途有冲突需要解冲突,如果有异常无法合并,可以:

复制代码
git rebase --abort  

放弃此次操作。

查看历史commit提交记录:

复制代码
git log

git切换分支代码到某一次commit提交_zhangphil的博客-CSDN博客git命令:git reset --hard commit-id可以通过git log输出查找。git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况,首先:git reset --hard接着:git clean -fd。git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况_zhangphil的博客-CSDN博客。git回退代码仓库版本_git回退到之前的版本会影响本地代码嘛_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/132326842git基于change代码修改与提交_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...git cherry-pick解冲突push到远程代码仓库。某种意义上讲,change相当于git的分支。https://blog.csdn.net/zhangphil/article/details/132121739git查看commit提交的历史记录_git查看本地commit记录_zhangphil的博客-CSDN博客git查看commit提交的历史记录%格式化占位符代表的意义:%h,某次提交的哈希值简写。%H,某次提交的完整哈希值。%an,作者名字。%cr,提交距离现在有多久时间。%cn,提交者名字。(与%an不同,提交者只是提交了代码,但可能不是作者)%cd,提交的日期。%s,提交的信息。......_git查看本地commit记录https://blog.csdn.net/zhangphil/article/details/125553909git cherry-pick:复制多个提交commit到当前分支_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...https://blog.csdn.net/zhangphil/article/details/83787145git当前本地已commit但未push到远程的提交,并选择其中一个commit推送至远程_git查看本地提交没有push的代码_zhangphil的博客-CSDN博客git cherry-pick:复制多个提交commit到当前分支git cherry-pick的作用是合并不同分支的若干个commit到当前分支,这些若干个commit代码提交可以是不同分支的commit提交,如图:现在master分支打算把develop分支的C、D、E这三次提交复制到当前mater分支,那么首先需要从develop切换到分支到master:git checko...git当前本地已commit但未push到远程的提交,并选择其中一个commit推送至远程。_git查看本地提交没有push的代码https://blog.csdn.net/zhangphil/article/details/129589462git删除/撤销远已经push到程服务器上某次代码提交_git怎么删除某次代码的提交_zhangphil的博客-CSDN博客git删除/撤销远已经push到程服务器上某次代码提交场景:不小心把一次错误的代码push到远程服务器上的分支上,需要立即删除/撤销这次代码提交。具体方法,git命令:git reset --hard git push origin HEAD --forcecommit_id可以通过git命令:git log输出获取。commit_id形如:126f206185f225879f2723ca421_git怎么删除某次代码的提交https://blog.csdn.net/zhangphil/article/details/79670257git拉取远程所有分支/添加远程仓库_zhangphil的博客-CSDN博客git拉取远程所有分支/添加远程仓库。_拉取远程所有分支https://blog.csdn.net/zhangphil/article/details/129189980

相关推荐
stevenzqzq5 小时前
git 常用操作
大数据·git
Curvatureflight7 小时前
Git工作流最佳实践:从混乱到优雅
git
wu~9707 小时前
GitHub永不遗忘,使用git push -f来覆盖的提交依旧保留
git·github
Vermouth_009 小时前
git clone的时候提示access denied
git
qq_4376572710 小时前
清楚本地的git并重新登录
git
jiang_changsheng10 小时前
工作流agent汇总分析 2
java·人工智能·git·python·机器学习·github·语音识别
顶点多余11 小时前
版本控制器-git
linux·git
夔曦11 小时前
Git工程日常下拉/上传完整流程(自用)
git
岱宗夫up11 小时前
GitHub Desktop如何设置中文?这不是个简单问题
git·github
岱宗夫up14 小时前
.env 文件是干啥的?为什么不能提交到 Git?
大数据·git·elasticsearch·搜索引擎·gitee·github·gitcode