Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
Git 无法将我的分叉重置为上游_Git_Github_Reset - Fatal编程技术网

Git 无法将我的分叉重置为上游

Git 无法将我的分叉重置为上游,git,github,reset,Git,Github,Reset,我是Git的新手,所以我一直在犯很多错误。其中一个错误是将我所有的更改提交给我的主分支,这意味着我的pull请求变得不合理地大。我希望我的主分支成为我从中派生的上游存储库的“干净”版本。从那里,我将从master的分支发出可管理的pull请求 为此,我尝试了以下方法: 将我的工作保存到另一个分支中 使用以下方法将主设备重置为回购上游: 然后,我用以下方法清洁了我在当地的分支机构: 吉特清洁-f-d 这似乎对我在GitHub上的远程主分支没有影响,它仍然是我最后一次提交的分支 我一直在使用MacG

我是Git的新手,所以我一直在犯很多错误。其中一个错误是将我所有的更改提交给我的主分支,这意味着我的pull请求变得不合理地大。我希望我的主分支成为我从中派生的上游存储库的“干净”版本。从那里,我将从master的分支发出可管理的pull请求

为此,我尝试了以下方法:

  • 将我的工作保存到另一个分支中

  • 使用以下方法将主设备重置为回购上游:

  • 然后,我用以下方法清洁了我在当地的分支机构:

    吉特清洁-f-d

    这似乎对我在GitHub上的远程主分支没有影响,它仍然是我最后一次提交的分支

    我一直在使用MacGithub应用程序,它显示我的分支被重置,直到我按下“同步分支”,此时分支恢复到我的上次提交


    如果我能澄清什么,请告诉我。谢谢。

    更改本地分支永远不会影响远程分支。您需要运行:

    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