【问题标题】:Rebasing my commits onto master without changing history在不更改历史记录的情况下将我的提交重新定位到 master
【发布时间】:2012-10-26 18:22:42
【问题描述】:

我有一个功能分支和一个主分支。我的功能分支已从 master 分支中签出,但在当前位于 master 分支上的一些提交之前。

我想在 master 分支上重新设置我的提交,但我不希望更改 master 的历史记录,我希望重新设置一次应用所有提交并保持 repo 的完整性任何远程分支的历史记录。

用 git rebase 可以吗?

在master上做这个

git rebase feature-branch-name

在我的功能分支上重放了大师的历史,这不是我想要的。

【问题讨论】:

  • 作为一般规则,rebase 和 merge 总是修改 current check out 分支。因此,由于您要修改功能分支,而不是主分支,因此您应该签出功能分支。

标签: git rebase git-rebase


【解决方案1】:

是的,这是可能的,您的尝试非常接近。你只需要扭转它。

从特性分支,运行这个:

git rebase master

请注意,在此过程中可能会提示您解决合并问题。完成后,您将看到 master 的最新提交将出现在您的功能分支中,在您在功能分支中执行的任何提交之前。然后,从 master 分支,你可以运行这个:

git merge feature-branch-name

这将导致主分支拥有来自您的功能分支的所有提交。合并时有多种选择。如果您不喜欢从默认设置中获得的内容,请参考 git 文档。

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2014-01-23
    • 2015-11-15
    • 2012-03-07
    • 2020-03-22
    • 2014-03-13
    • 2020-10-23
    • 2021-01-06
    • 1970-01-01
    相关资源
    最近更新 更多