我们需要把 88b6aa 和 89d53f 两个合并起来,可以使用下面的命令来实现:
git rebase -i 029e3f
其中 -i
参数的意思就是我们需要合并 -i
参数指定之前的提交,因为这里我们是需要合并 88b6aa 和 89d53f,这两个是在 029e3f 之前。
执行上面的命令会进入下面的界面:
可以看到,最上面的两行其实就是我们要合并的 commits,使用 #
开始的行是 git 自带的注释,主要是用来提示我们。在本文我们主要需要用到 pick
和 squash
这两个命令就可以的,这两个命令的含义上面图片里面已经解释了。
我们现在是需要把第二行的提交(88b6aa)合并到第一行的提交(89d53f)里面,所以可以这么做:
pick 89d53f0cc1 Support Filter/Limit/TopN pushdown for JDBC Connectors squash 88b6aae9b7 Fix code style.
然后输入 :wq
以保存并退出,这时候就会进入下面的界面:
上图中非注释的两行其实就是我们之前两个 commits 的 comment 信息,现在这里我们需要为合并之后的 commit 写一个新的 commet(自己可以根据自己的意愿写),所以可以如下操作:
然后再一次输入 :wq
以保存并退出。退出之后,其实就已经完成了多个 commit 的合并。可以再一次执行 git log
查看:
commit 0ff665ec1d0beb4e59c9979cabd06b9a2d58aedc (HEAD -> jdbc_pushdown) Author: iteblog <hadoop@iteblog.com> Date: Thu Aug 5 18:43:27 2021 +0800 Support Filter/Limit/TopN pushdown for JDBC Connectors commit 029e3fc6dbc9b8ceecc7bd6b881f376ee8f89135 (upstream/master, master) Author: shenh062326 <shenh062326@126.com> Date: Fri Jul 23 10:35:33 2021 +0800 Add queryId to Hive temporary table names commit 3127c281f5359ef2144fbadc5e52dec98aeed4c8
然后我们就可以使用 git push origin jdbc_pushdown -f
命令把修改同步到远程分支。