Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用origin(github)完全替换Fork_Git_Pull Request - Fatal编程技术网

用origin(github)完全替换Fork

用origin(github)完全替换Fork,git,pull-request,Git,Pull Request,是否有聪明的工作流程在与上游回购协议不同的分支上创建pull_请求分支,以便pull_请求分支始终与上游“主”完全匹配 就是 1) 我有一个叉子,它与主遥控器有很大的不同 2) 我希望保留我的fork(没有必要删除它),但是,我还希望干净地发出与原始上游存储库差异最小的pull请求 因此-有没有办法在my fork中创建一个分支,它是另一个远程主机的完美副本?首先,您不应该修改本地主机分支,您应该只创建功能分支。如果您保持本地master未修改,则可以从上游回购获取最新更改: git远程添加上游

是否有聪明的工作流程在与上游回购协议不同的分支上创建pull_请求分支,以便pull_请求分支始终与上游“主”完全匹配

就是

1) 我有一个叉子,它与主遥控器有很大的不同

2) 我希望保留我的fork(没有必要删除它),但是,我还希望干净地发出与原始上游存储库差异最小的pull请求


因此-有没有办法在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得到的?这是我听过的关于使用分支实现一切的最好论据/