gpt4 book ai didi

git - 我可以在 git 中合成一个跳过单个更改集的分支吗

转载 作者:太空狗 更新时间:2023-10-29 14:29:00 26 4
gpt4 key购买 nike

假设以下 git 分支:A -> B -> C -> D -> E -> F -> G

我已经通过 git bisect 确定提交 C 引入了一个错误,但是恢复 C 在分支顶部引入的更改并不能解决问题。这向我表明,在该分支的后续提交中还有其他错误。

有没有办法合成以下分支: A -> B -> D1 -> E1 -> F1 -> G1 ,其中 1 表示提交 C 中引入的更改不存在?然后,我还会在该分支上运行 git bisect 以确定是否找到其他错误。 [希望这不需要重复多次]

最佳答案

是的:

git checkout -b newbranch <specifier-for-B>
git cherry-pick <specifier-for-C>..<specifier-for-G>

这些 <specifier> s 可以是原始哈希 ID,或分支名称,或带有 ~<em>number</em> 的分支名称倒数 number 第一次提交,等等。诀窍是创建一个新分支,在最后一个好的提交处结束,然后在除已知的错误提交之外的其余可能好的提交中挑选。

一旦有了这个新分支,就可以使用 git rebase -igit rebase --onto <target> <exclude>如果愿意,可以删除更多提交。

关于git - 我可以在 git 中合成一个跳过单个更改集的分支吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45600375/

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