新手提问:git怎么将第一个commit合并,试了一下好像不行

找了半天没找到资料,下面是commit情况

commit 2
^  
|  
|  
|  
commit 1(根commit)

我想把这两个commit 合并在一起,于是我 git rebase -i commit1 ,在交互界面本来是

pick commit2

我改成

pick commit1
squash commit2

然后就这样了


下面我就不会了,求助

我没用过命令行版的rebase… 不过看你下面那张图应该是rebase过程还没执行完成…

应该git rebase --continue 继续进行rebase过程并提交新的commit, 如果没有git reset的话…

  1. 你尝试按照提示运行 git commit --allow-empty 再看看;
  2. 我rebase的时候,会rebase on commit 1 再前面一个,而不是直接commit1,不确定这样是否可以。

Magit我不会。命令行是

git rebase -i --root

另注:

commit msg 好评。XSWL

是不是应该把

pick commit2

改为

squash commit2

看着像是你的commit2是一个Merge commit,就是开头是merge…,一般不会把这个rebase的吧。

我感觉你的情况应该是要clean一下branch,我一般的做法就是rebase下upstream,比方说branch c是基于branch develop的,然后在c上有几个新的commit(可能是从别的branch merge进来的),你可以在branch c下用git rebase develop,保持branch c clean

@nesteiner 楼主是怎么回事,只发贴不看回贴吗?解决方案我帮你打勾了。

忘了,谢谢提醒
这个有关系吗,弱弱的问一句
怎么成为社区成员后就发现哪里不对

推荐还是magit啊,效率差太多,所有操作都在M-x magit-status buffer下,按?能看见所有指令

好的,有空去学学这个插件

  1. 发新贴说明你有时间。
  2. 发贴尽量把问题描述清楚,不要让别人去猜测什么意思。比如“第一个 commit”就存在歧义,它也可以理解为最初始的那个 commit。
  3. 既然歧义已造成,有人在回贴理解错了,你有义务更正/说明。
1 个赞

好的,我会遵守社区规则