Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何合并到最后一个非合并提交中?_Git - Fatal编程技术网

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所能做的。