gpt4 book ai didi

git - 如何使用 Intellij IDEA 进行交互式 rebase ?

转载 作者:太空狗 更新时间:2023-10-29 13:48:04 49 4
gpt4 key购买 nike

我想对分支进行交互式 rebase ,例如:

git rebase -i HEAD~4

在 IntelliJ IDEA 中找不到执行此操作的方法。如果可能的话,请提出建议。谢谢。

最佳答案

IntelliJ 12.1 中的 rebase 对话框使用最通用版本的 rebase 命令:

git rebase [-i] [--onto newbase] [upstream] [branch]

其中IntelliJ的“Onto”字段对应--onto newbase,IntelliJ的“From”字段对应“upstream”,IntelliJ的“Branch”字段对应“branch”。

在上面的 git rebase 命令中,所有参数都是可选的,而在 IntelliJ 中则不是。这意味着您必须使用 git rebase 命令并使用上面显示的一般形式来表达它。

请注意,您实际上对 rebase 命令的参数所做的是定义将在新目标位置重放的提交范围。通常,范围是 upstream..branch。如果您不熟悉提交范围,您应该仔细阅读。

让我们看一下您的示例,并假设您在分支“branch”上:

git rebase -i HEAD~4

首先让我们弄清楚范围是多少。因为你只有一个参数,HEAD~4,这对应于上游,即范围是 HEAD~4..branch 或者换句话说 HEAD~4 ..HEAD 在分支“分支”上。现在的问题是您的 --onto 目标是哪个。如果您避免 --onto,那么 git 会假定您的上游也是您的 --onto

这会产生:

git rebase -i --onto HEAD~4 HEAD~4 branch

现在您可以使用

填写 IntelliJ 的 rebase 对话框
  • 转到:HEAD~4
  • 来自:HEAD~4
  • 分支:分支

IntelliJ 实际上会强制您首先思考并确定您的范围和目标,这看起来更复杂,但这会阻止您在不了解结果会是什么的情况下进行 rebase 。

关于git - 如何使用 Intellij IDEA 进行交互式 rebase ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14608812/

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