【问题标题】:Reset a remote branch to a previous commit将远程分支重置为先前的提交
【发布时间】:2015-05-08 07:23:25
【问题描述】:

我正在使用 SourceTree,但对 git 还是很陌生。我试图将一个版本与另一个版本合并以开始在其远程分支上处理下一个版本,但它没有按我预期的那样工作。我可以通过将它拉到我的本地来回到我想要的提交,但现在它只有一个“HEAD”标签,而“origin/[version]”仍然是大约 5 个提交。反正有没有强制远程分支忘记我所做的一切并跟踪我正在使用的当前提交?谢谢。

【问题讨论】:

    标签: git github bitbucket atlassian-sourcetree


    【解决方案1】:

    您可以使用-f 选项强制推送到远程。

    git push -f origin <branch-name>
    

    【讨论】:

    • 好的,是的,我进行了硬重置并推送到版本,但是我应该看到“origin/[version]”从树中移回吗?还是会在当前位置发生变化?只是想知道,因为它没有动。
    • 它应该移回树下,而不是你不应该在任何地方看到提交。
    • 完成此操作后,git pull 表示什么?
    • 它只是拉回了我想删除的东西。什么也没发生。
    • 在 git 重置后尝试 git push +&lt;branch-name&gt;。如果这不起作用,请尝试在这个问题stackoverflow.com/questions/448919/…
    【解决方案2】:

    在远程git服务器cd到.git文件夹和

    git reset --hard HEAD^
    

    以上命令删除最新提交,然后使用推送

    git push -f 
    

    在裸仓库中

    【讨论】:

    • 请用简单的英语解释一下这是做什么的。
    【解决方案3】:

    我修复了它,我只是确保我在我想要的提交中,然后我运行了

    git push -f 来源

    没有分支名称,它有效。

    【讨论】:

    • 那么,你是在 master 还是另一个分支?
    猜你喜欢
    • 2018-07-04
    • 2018-02-28
    • 2011-01-08
    • 1970-01-01
    • 2011-08-14
    • 2020-07-29
    • 2020-12-12
    相关资源
    最近更新 更多