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