当前位置: 首页 > 知识库问答 >
问题:

前端 - git中有没有合并多个commit并修改提交信息的快捷操作?

令狐阳秋
2023-11-08

比如我最近的3个commit分别为:任务1、任务2、任务3.

现在我想将这3个commit合并为1个commit,并且将这个commit的信息改为“完成所有任务”。

我应该怎样操作?

共有3个答案

桑宇
2023-11-08

image.png
guthubdesktop桌面软件,想当好用,切分支,拉代码,合并commit,cherry pick到别的分支等等

邹铭
2023-11-08

git merge --squash

黄沈浪
2023-11-08

想要快捷、易用,那就用 GUI。


命令行下

如果是在 HEAD 的几个提交,你可以直接 reset 到 任务1^ 的前一个提交,然后重新 commit。
假设当前分支为 old,且已经在当前分支。

或者基于当前分支的 任务1 的前一个提交,新建一个分支(git checkout -b copy1 任务1^),把当前分支的代码合并(git merge --squash old),合并过来后,你现在再提交一次,就可以了。


当然,前面几个方法的限定就是 任务3 必须是 HEAD 指向的,说白了就是,只能处理最近的几个提交。

如果是任意位置的提交,那就需要使用 rebase,具体可以搜索 git rebase 合并提交

 类似资料:
  • 目前我知道是用 但是每次都卡在了这个状态,跳到了游离的分支上 想请问这个下一步要如何做,才能达到我想把这之间的commit合并成一个的目的呢?

  • 开发分支合并到测试分支,只保留一个commit记录?最不容易出现问题的方法 尝试了 git merge --squash,想知道rebase怎么操作

  • 我在编辑代码之前忘记了我的代码;当我提交新代码并尝试推送时,我得到了错误“推送是不可能的”。 那时我做了一个,突出显示了一些冲突的文件。我删除了冲突,但我不知道从这里该怎么办。 我再次尝试git提交,但它说“提交是不可能的,因为您有未合并的文件”:

  • 本文向大家介绍Git 好的提交信息,包括了Git 好的提交信息的使用技巧和注意事项,需要的朋友参考一下 示例 对于一个遍历的人来说,重要的是git log要容易地理解每个提交的含义是很重要的。良好的提交消息通常包括跟踪器中的许多任务或问题,以及对完成的内容,原因以及有时的完成方式的简要说明。 更好的消息可能看起来像: 而以下消息将不太有用: 测试提交消息是否以正确的心情进行测试的一种方法是用消息替

  • 注意:我不一定要寻找下面描述的具体示例问题的解决方案。我真的很感兴趣,为什么这在java 8中是不可能的。 Java流是懒惰的。最后,他们有一个单一的终端操作<我的解释是,这个终端操作将通过流提取所有值。没有任何中间操作可以做到这一点。为什么没有中间操作通过流拉入任意数量的元素?类似这样: 当下游操作尝试推进流一次时,中间操作可能尝试多次(或根本不推进)上游。 我会看到几个用例: (这些只是示例。

  • 我很想知道您是否可以,以及将提交合并到我的孤儿分支是否有任何问题。对于这个特定的实例,我的Salesforce存储库有一个主分支和一个预发布分支,但由于我们的沙盒环境通常有不属于生产的元数据,但我们希望对其进行版本控制,但与干净的预发布分支有足够的分离。 因此,我们有以下内容: