git - 在 merge 到 master 之前我如何在其他分支上工作?

标签 git merge branch

我已经完成了其中一个分支的工作并创建了 pull 请求。这是在 CR 中。 我 checkout 了另一个分支,但要使用该功能,我需要 merge 第一个分支的更改。 在审查和 merge 并开始处理其他事情之前,有什么方法可以将我在第一个分支中所做的更改带到另一个分支中?

明确地说:我知道 CR 之后可能会有变化,但仍然值得开始研究其他功能。

最佳答案

您可以从 origin/main 创建另一个分支,和 git cherry-pick 您需要从当前 CR 中的功能分支获取提交( or commits )(我想是“代码审查”)。

最佳实践是,当您想要创建 PR 时,一旦第一个分支被接受并 merge 到 origin/main重新设置你的第二个分支:

  • 在第一个分支之上:这样,您精心挑选的提交将从您自己的分支中消失(因为 Git 会检测到它们已经存在于第一个分支中)
  • 在更新的 origin/main 之上.
    git rebase --onto origin/main firstBranch secondBranch

您将在第二次 rebase 后创建 PR,因为这意味着您的第二个分支将在目标 origin/main 之上进行本地编译/测试。此时,该分支已经包含第一个 merge 分支。

关于git - 在 merge 到 master 之前我如何在其他分支上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73921864/

相关文章:

git - 对具有 git 分支的不同机器的 dotfile 管理是否合理?

Git checkout 另一个分支

在 Windows 上使用 SSH 私钥进行 Git 推送

java - JPA 合并,包括子项

git - 当我们使用子树 merge 策略时,git如何找到子树?

LINQ 在行中合并结果

git cherry-pick 不只是选择提交的差异

Git - 重命名多个分支

xcode - 失败的 Xcode Git Merge 卡住了

linux - Git checkout 分支不工作