如何在git中创建一个只有一个提交(并且没有来自上游的拉取)的干净主题分支 分岔

如何在git中创建一个只有一个提交(并且没有来自上游的拉取)的干净主题分支 分岔,git,github,Git,Github,我将sorin ionescu/prezto(upstream)从github转移到我的github帐户(nasenatmer/prezto)(origin),在本地克隆并开始配置它,添加文件,同时不断提交更改并将其推回到我的github repo 配置我的本地回购 除此之外,我修改了一个提示主题,现在我想将其返回给项目,因此我想创建一个pull请求。从github“使用拉请求”和gun.io教程中学习,我尝试创建主题分支,提交我的更改,以便在github上作为拉请求转发它们。然而,与此同时,上

我将sorin ionescu/prezto(
upstream
)从github转移到我的github帐户(nasenatmer/prezto)(
origin
),在本地克隆并开始配置它,添加文件,同时不断提交更改并将其推回到我的github repo

配置我的本地回购 除此之外,我修改了一个提示主题,现在我想将其返回给项目,因此我想创建一个pull请求。从github“使用拉请求”和gun.io教程中学习,我尝试创建主题分支,提交我的更改,以便在github上作为拉请求转发它们。然而,与此同时,上游也有更新

因此,我有以下提交历史记录:
原始签出--许多“私有提交”--拉取上游更改

创建主题回购 因此,为了创建一个主题回购协议,我在最早从上游克隆的时候创建了一个分支,我称之为
pristine
,我不会自己定制它。然后我从
上游
拉车,使
原始
更新

从这一点开始,我分支了
prompt\u jakob\u setup
(这是提示文件的名称),并将文件提交给它

太多承诺的问题 现在,如果我转到
github
从我的主题分支启动pull请求,我从今天开始就会看到:拉入
上游
和提示提交

我不认为任何维护人员都会接受这样一个不专业的拉动请求

问题
创建一个干净的主题分支的正确方法是什么,该分支只有一个要向上游推送的提交?

如果您不希望上游合并,那么您需要
git重新设置上游主节点的基础

您还可以执行git pull--rebase upstream master
。它将在
重设基础之前执行
获取
,以便您确保自己是最新的

这将在上游回购发生任何提交后将您的提交移动到。并且不显示您关心的提交消息。如果您想更改当前回购,您需要
git reset--hard
进行提交(从上游撤消合并),然后继续执行
git rebase
。如果您已经将这些更改推送到GitHub上自己的回购协议中,那么您可能需要执行一个
git push--force
,以便覆盖历史记录。(我通常不建议这样做,但因为这是你的回购协议,所以应该可以。)