(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 git rebase -i a77517ad7fda85ba98f207 既然要把最上面的合并成一次,那么git rebase -i 后面跟的参数应该是想要合并的最前面commit id的上一个,就是a775…这个 之后会弹出现目的编辑窗口: 这是一个vim编辑的文本,需要使用vim命令进行编辑。 1、首先,输入i命令,进入编辑模式。 2、我们需要关注的是最上面几行以pick开头的信息。需要把 git rebase会打开一个vim文本编辑器(需要会修改保存和退出),显示了最近的 n 个提交记录。每个提交前面都有一个 pick 关键字,表示保留该提交。若要合并两个相邻的提交,只需删除第二个提交之前的 pick 关键字,改为 squash 或 s。同样,若要合并更多的提交,只需按照上述操作修改对应的提交行。git reset的本意是版本回退,回退时可以选择保留commit提交。我们基于git reset的作用,结合新建分支,可以实现多次commit提交的合并。这个不需要vim编辑,很少有冲突。 有时候新人在git上提交代码时,如果不符合要求,会出现反复修改,导致提交次数过多,无法形成有效提交和回退,因为可能中间提交的版本有问题。所以查找一下是否有合并多次提交为一次有效提交的命令,果然很强大,像一个穿越时空机一样,可以任意修改已提交的版本。 合并过程 1、查找要历史提交版本 git log 2、查找要合并的几个提交id,并要找到最早要合并的提交id的父commit-id。 git rebase -i commit-id //(commit-id是需要合并的提交中最早的提交的前一个 在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。 但是如果我们一个功能模块开发完了之后,肯定提交了许多次,如果我们想把这么多提交记录都merge到我们的master分支上,肯定是不友好和不雅观的。所以我们需要将我们许多次的提交记录合成一次的提交记录,在合并到我们的pre分支上。(多说一句:一般自己的功能分支上开发完成之后,肯定是 `git merge --squash` 合并分支并将多个`commit`记录合并 已有`dev`分支,往`master`分支合并,并且不希望展示`dev`分支的提交记录 在平时开发中,git可以说是我们最不陌生的工具了。而且在提交线上代码或者是将自己功能分支上的代码给cherry-pick到预发分支上时,如果只提交了一个点那么直接cherry-pick就可以了,但是提交了很多点时,一个一个的cherry-pick岂不是太麻烦了吗?于是我们就可以将自己的提交的点压成一个点,然后在将自己压成的这个点cherry-pick就可以了。之前写过用命令行操作的,但是后来在工作中发现效率不是很高。有兴趣的可以看用命令行操作的:命令行--git--多次commi...
(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