用origin(github)完全替换Fork
是否有聪明的工作流程在与上游回购协议不同的分支上创建pull_请求分支,以便pull_请求分支始终与上游“主”完全匹配 就是 1) 我有一个叉子,它与主遥控器有很大的不同 2) 我希望保留我的fork(没有必要删除它),但是,我还希望干净地发出与原始上游存储库差异最小的pull请求用origin(github)完全替换Fork,git,pull-request,Git,Pull Request,是否有聪明的工作流程在与上游回购协议不同的分支上创建pull_请求分支,以便pull_请求分支始终与上游“主”完全匹配 就是 1) 我有一个叉子,它与主遥控器有很大的不同 2) 我希望保留我的fork(没有必要删除它),但是,我还希望干净地发出与原始上游存储库差异最小的pull请求 因此-有没有办法在my fork中创建一个分支,它是另一个远程主机的完美副本?首先,您不应该修改本地主机分支,您应该只创建功能分支。如果您保持本地master未修改,则可以从上游回购获取最新更改: git远程添加上游
因此-有没有办法在my fork中创建一个分支,它是另一个远程主机的完美副本?首先,您不应该修改本地
主机
分支,您应该只创建功能分支。如果您保持本地master
未修改,则可以从上游回购获取最新更改:
git远程添加上游
git取上游
现在,您的远程跟踪分支上游/master
与上游
的最新更改同步。或者,如果需要,您还可以更新本地主文件
:
git checkout master
git merge upstream/master
现在,您可以从上游/master
创建要素分支:
git checkout -b feature upstream/master
git push origin upstream/master:master
当您希望将要素分支与上游的最新更改进行同步时,只要没有其他人也在处理要素分支(否则您将强制它们与更改的历史重新同步),您就可以使用重新基线<代码>重基实际上是此工作流的理想选择,因为您通常可以使用它来尽可能频繁地同步要素分支,而无需创建混乱的历史记录,因为它们不会创建合并提交:
git fetch upstream
git checkout feature
git rebase upstream/master
您也可以git merge-upstream/master
而不是重定基址,但是您会留下一个合并提交,因此随着时间的推移,您将通过合并而不是重定基址来创建更复杂的历史
当您准备提交拉取请求时,只需推送到您的原点
,然后针对上游主节点
发出请求
原始海报要求:
[一] 有没有办法在我的fork中创建一个分支,它是另一个远程主机的完美副本
只要您的本地主控
没有偏离上游/主控
(如果您一直在功能分支中而不是直接在主控
中进行工作,则不应该偏离),然后将您的本地主控
推到您的原点
:
git push origin master
或者,您可以使用REFSEC将远程跟踪分支上游/master
推送到原点/master
:
git checkout -b feature upstream/master
git push origin upstream/master:master
要完全用原点替换拨叉,请执行以下操作:
git remote add upstream <upstream_repository_url>
git fetch upstream
git reset --hard upstream/master
git远程添加上游
git取上游
git重置——硬上行/主
这是从git pull upstream master:upstream master得到的?这是我听过的关于使用分支实现一切的最好论据/