Git 如何合并到最后一个非合并提交中?
通过执行Git 如何合并到最后一个非合并提交中?,git,Git,通过执行git-pull-origin-master--rebase,我一直在使用master更新我的本地分支,这样我就可以执行git-commit--amend来保持一个良好的历史记录 但上次我运行git pull origin master--rebase时,它似乎完成了合并提交 现在我的git日志如下所示: 1 commit 24f13d1601ffcd3169d6449290722207ff336ebc (HEAD -> do_a_thing) 2 Merg
git-pull-origin-master--rebase
,我一直在使用master更新我的本地分支,这样我就可以执行git-commit--amend
来保持一个良好的历史记录
但上次我运行git pull origin master--rebase时,它似乎完成了合并提交
现在我的git日志如下所示:
1 commit 24f13d1601ffcd3169d6449290722207ff336ebc (HEAD -> do_a_thing)
2 Merge: b7e39aa4 7b49f585
3 Author: mark <mark@example.com>
4 Date: Thu Feb 6 17:55:29 2020 -0800
5
6 Merge branch 'master' of <repo> into do_a_thing
7
8 commit b7e39aa40726e09c1a516ee63f91088b4114808b
9 Author: mark <mark@example.com>
10 Date: Mon Feb 3 17:27:07 2020 -0800
11
12 foo
13
14 commit 7b49f58526ca94aaa9c71a8074fcd650fad2ac73 (origin/master, origin/HEAD)
15 Author: Jenkins <no-reply+jenkins@example.com>
16 Date: Thu Feb 6 13:58:36 2020 -0800
17
18 - foo@1.0.0
19 - bar@1.0.0
20 - baz@0.0.1
21 - qux@1.4.1
22
23 commit e13abeded9535e18cb3dff8044abdfde2f213655
24 Merge: a772961b 0fd88c29
25 Author: Jenkins <no-reply+jenkins@example.com>
26 Date: Thu Feb 6 13:57:00 2020 -0800
27
28 Merge remote-tracking branch 'origin/i/stuff'
...
1提交24f13d1601ffcd3169d6449290722207ff336ebc(头->做一件事)
2合并:b7e39aa4 7b49f585
作者:马克
4日期:周二2月6日17:55:29 2020-0800
5.
6将分支“主”合并到“做”事情中
7.
8提交B7E39AA40726E09C1A516EE63F91088B41148B
作者:马克
10日期:星期一2月3日17:27:07 2020-0800
11
12富
13
14提交7b49f58526ca94aaa9c71a8074fcd650fad2ac73(原始/主、原始/主)
15作者:詹金斯
16日期:周二2月6日13:58:36 2020-0800
17
18 - foo@1.0.0
19 - bar@1.0.0
20 - baz@0.0.1
21 - qux@1.4.1
22
23提交E13ABED9535E18CB3DFF8044ABDFE2F213655
24合并:a772961b 0fd88c29
25作者:詹金斯
26日期:周二2月6日13:57:00 2020-0800
27
28合并远程跟踪分支“来源/i/stuff”
...
我想“合并”到B7E39AA40726E09C1A516EE63F91088B41148B,这样我就可以重命名它,并保留一个压缩的本地分支
我该怎么做?不确定在此实例中如何使用rebase
谢谢 这看起来像是一个没有
--rebase
选项的git pull
运行(可能您没有使用它?)。在任何情况下,只要现在重新设置基址就可以摆脱它。我建议完全避免使用git-pull
:自己运行git-fetch
(git-pull
会为您执行此操作),然后运行git-pull
会为您自己运行的第二个命令。这样您就不会意外地git拉
,使它运行git merge
。啊,一定是这样。或者我认为可能有冲突,强制合并提交。无论如何,谢谢!我该如何“现在就重新设定基准以摆脱它”?我不能只交换24f13d1601ffcd3169d6449290722207ff336ebc和B7E39AA40726E09C1A516EE63F91088B41148B的订单。。。。我可以吗?重新基础的工作原理是复制提交,但放弃合并。因此,使用git-rebase-origin/master
,您将复制当前分支上的所有提交,这些提交尚未在origin/master
(并且不是合并提交),以便它们位于origin/master
上的最后一次提交之后。。。这就是git-pull-rebase所能做的。