如何从拉取请求的功能分支中删除 OS-specific 提交?

How to remove OS-specific commits from feature branch for pull request?

我正在基于分支 Ubuntu-Env 的分支 Feature 工作,其中对我使用 Ubuntu 进行了一些更改。当我提出合并请求时,必须删除这些更改。到目前为止,我只是从 master 检出更改的文件。有没有更优雅的方式?我尝试了 git rebase 但来自 Ubuntu-Env 的提交仍然存在。

您的提交历史可能如下所示:

*--*--*--* [master]
 \
  A--B [Ubuntu-Env]
      \
       *--*--*--* [Feature]

并且您想从 Featuremaster 打开一个不包含提交 AB.

的拉取请求

git rebase 的方向是正确的。但是,您需要包含 --onto 参数:

git rebase --onto master Ubuntu-Env Feature

您的历史记录将如下所示:

*--*--*--* [master]
 \        \
  \        *--*--*--* [Feature]
   \
    A--B [Ubuntu-Env]