Git 无法将我的分叉重置为上游
我是Git的新手,所以我一直在犯很多错误。其中一个错误是将我所有的更改提交给我的主分支,这意味着我的pull请求变得不合理地大。我希望我的主分支成为我从中派生的上游存储库的“干净”版本。从那里,我将从master的分支发出可管理的pull请求 为此,我尝试了以下方法:Git 无法将我的分叉重置为上游,git,github,reset,Git,Github,Reset,我是Git的新手,所以我一直在犯很多错误。其中一个错误是将我所有的更改提交给我的主分支,这意味着我的pull请求变得不合理地大。我希望我的主分支成为我从中派生的上游存储库的“干净”版本。从那里,我将从master的分支发出可管理的pull请求 为此,我尝试了以下方法: 将我的工作保存到另一个分支中 使用以下方法将主设备重置为回购上游: 然后,我用以下方法清洁了我在当地的分支机构: 吉特清洁-f-d 这似乎对我在GitHub上的远程主分支没有影响,它仍然是我最后一次提交的分支 我一直在使用MacG
如果我能澄清什么,请告诉我。谢谢。更改本地分支永远不会影响远程分支。您需要运行:
git push upstream master
不过,这很可能会失败,因为您已经修改了历史记录(非快进提交)。如果是这样,您将需要强制执行此推送(警告,这将重写历史记录,并可能导致协作问题;确保每个人都知道将其主机
重置为上游
):
GitHub应用程序上的“同步分支”失败的原因是,它假定(理所当然地)您希望保持远程设备的历史记录。这意味着它将首先
git拉上游主机
,然后git推上游主机
。这会将您的本地分支快速转发回原来的位置,然后推送(无更改)。感谢您的快速响应。对于“git push upstream master”,我得到“致命:无法从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。”我确定存储库存在,并且我具有访问权限–有什么想法吗?您通常如何推送到存储库?也许你想要origin
而不是upstream
(你回购的名称)。我一直在使用GitHub应用程序推动提交。我刚刚尝试了“git push origin master”,得到了这样一条消息:“更新被拒绝,因为当前分支的尖端位于远程分支的后面。在再次推送之前合并远程更改。”是的,这就是强制的作用:git push origin master-f
。但请注意:这将重写历史记录,可能会导致协作问题,并可能导致数据丢失!它将用您的远程master
分支替换您的本地master
分支。很好–这就成功了。非常感谢你的帮助萨姆:)
git push upstream master
git push upstream master -f