我将来自github的sorin-ionescu / prezto(upstream
)分配到我的github帐户(nasenatmer / prezto)(origin
),在本地克隆它并开始配置它,添加文件,同时不断提交并将更改推回到我的github repo。
除此之外,我修改了一个提示主题,我现在想要回馈给项目,因此我想创建一个拉取请求。从github学习“使用pull请求”和关于gun.io的教程,我尝试创建主题分支,提交我的更改,以便我可以将它们转发为github上的pull请求。但是,与此同时,上游也有更新。
所以我有以下提交历史记录:
original checkout - - many "private commits" - - - pull upstream changes
因此,为了创建主题回购,我在上游最早的克隆中创建了一个分支,我称之为pristine
,我不会自定义。然后,我从upstream
撤出以使pristine
更新。
从那时起,我分支prompt_jakob_setup
(这是提示文件的名称)并将文件提交给它。
现在,如果我转到github
从我的主题分支开始拉取请求,我总是从今天开始看two commits:拉入upstream
和我的提示提交。
我认为任何维护者都不会接受这种不专业的拉取请求?
创建一个干净的主题分支的正确方法是什么,该分支只有一个你想要向上游推送的提交?
答案 0 :(得分:0)
如果您不想要上游合并,请git rebase upstream master
。
您也可以git pull --rebase upstream master
。这将在fetch
之前执行rebase
,以便您确定自己是最新的。
这会将您的提交移到上游仓库上发生的任何提交之后。并且不显示您关注的提交消息。如果要更改当前仓库,则需要git reset --hard
进行提交(从上游撤消合并),然后继续git rebase
。如果您已将这些更改推送到GitHub上的自己的仓库,则可能需要执行git push --force
以覆盖历史记录。 (我一般建议不要这样做,但因为它是你的回购,它应该没问题。)