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

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/132345159