gpt4 book ai didi

git - 幂等 git rebase 因虚假冲突而失败?

转载 作者:太空狗 更新时间:2023-10-29 13:01:46 25 4
gpt4 key购买 nike

我的 git 存储库有大约 2,000 个提交。出于教育目的,我一直在玩git rebase -i .

当我输入 git rebase -i first-commit 时(其中 first-commit 是对 repo 的初始提交的标记)并且根本不做任何更改(即保持所有 pick <hash> 不变),git 开始重放我的历史记录,但由于冲突而导致数十次提交失败。什么会导致这个?为什么它不简单地重播我的整个历史?

最佳答案

我尝试用一​​个开源项目重新创建它,得到了类似的结果,当使用 rebase interactive 在第一次提交之上进行 rebase 时报告了冲突。

我第二次运行它并注意到它发生在同一次提交中。

git clone git://git.lttng.org/lttng-tools.git
git tag first-commit fac6795
git rebase -i first-commit

Could not apply e4baff1... listing and activation of loglevel by number
git rebase --abort

似乎冲突发生在 merge 点附近:

* 843f5df (HEAD, tag: new-tag) API change for lttng_destroy_session prototype
* 90192ee Merge branch 'master'
|\
| * 4dbd54a update loglevel printout
| * e4baff1 listing and activation of loglevel by number
* | 76d45b4 Add support for UST enable all tracepoints
* | 6181537 Cleanup lttng enable event command
|/
* 13dce3b loglevels: allow enable/disable
* 81afa34 Add loglevel to event list
* 57ab763 ABIs now support 256 char event names

虽然使用选项 -p 再次运行 rebase 是成功的:

-p, --preserve-merges
Instead of ignoring merges, try to recreate them.

This uses the --interactive machinery internally, but combining it with the --interactive option explicitly is generally not a
good idea unless you know what you are doing (see BUGS below).

git rebase 将使历史变得更加线性。由于历史上有 merge , merge 点 pull 平时如果有冲突就得解决。

关于git - 幂等 git rebase 因虚假冲突而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9899276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com