【问题标题】:How to remove commits that I pulled in from upstream/develop into feature-branch?如何删除我从上游/开发到功能分支的提交?
【发布时间】:2020-11-02 09:08:45
【问题描述】:

我真的是 git 新手。

  • 我在某个时候分叉了upstream/develop
  • 现在我最近在它上面创建了一个feature-brach 来修复一些问题。
  • 修复错误后。我尚未提交更改。
  • 我从upstream/develop 拉取最新代码。
  • 你瞧。我得到了大约 31 处更改,作者之前在 upstream/develop 上所做的提交。
  • 我只修改了 4 个文件。
  • 此时我的 4 个文件也自动合并了。
  • 我只暂存我的 4 个文件并提交它们。
  • 现在在 PR 中,它显示了我的分支中的 21 次提交以及我在它下面的提交。

如何从我的功能分支中删除所有其他提交(它们是从 upstram/develop 中提取的),以及为什么自动合并的更改出现在 diff 中?

【问题讨论】:

    标签: git github git-branch git-commit git-fork


    【解决方案1】:

    您不需要删除它们。它们只是用于使您的分支与原始开发分支保持同步的合并提交。

    【讨论】:

      【解决方案2】:

      发生的情况是,您可能已经将上游/开发与本地功能分支合并,而不是执行所谓的“rebase”。这是菜鸟的错误。

      Q- 如何从我的功能分支中删除所有其他提交? 最简单的方法是

      1. 在您的本地功能分支上找到提交哈希(使用 git log 并查找您的提交消息/您更改的文件)
      2. 更改为本地开发分支,拉取上游/开发以同步本地开发和上游/开发
      3. 在本地创建一个新分支,使用提交哈希并选择该提交并将其放入本地新分支。
      4. 你准备好了。

      Q- 为什么自动合并的更改出现在 diff 中? 提交哈希不同。

      【讨论】:

        猜你喜欢
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-22
        • 1970-01-01
        • 2017-07-19
        • 1970-01-01
        • 2023-02-07
        相关资源
        最近更新 更多