【问题标题】:Moving master branch to original state before any commits在任何提交之前将主分支移动到原始状态
【发布时间】:2013-08-02 02:16:32
【问题描述】:

如果这个问题已经被问及回答,我很抱歉,但我找不到它。

基本上,我没有创建分支,而是在主分支中实现了一个应用程序的 alpha 版本,并在旧应用程序的分叉版本之上提交了几次。

是否可以将 master 分支恢复到其原始状态?

【问题讨论】:

标签: git git-revert


【解决方案1】:

试试

git结账大师 git reset --hard origin/master

【讨论】:

    【解决方案2】:

    使用git log 显示提交到master 分支。根据此信息确定您要删除多少次提交。

    $ git log
    commit ca82a6dff817ec66f44342007202690a93763949
    Author: Scott Chacon <schacon@gee-mail.com>
    Date:   Mon Mar 17 21:52:11 2008 -0700
    
        changed the version number
    

    然后使用 git rebase 删除指定数量的提交。

    git reset --hard HEAD~3 <--- Number of commits
    

    请注意,使用--hard 将导致所有当前更改丢失。此答案还假设您希望删除的提交是按顺序排列的。

    如果您在协作环境中工作,请使用 git revert 而不是 reset。这将发出一个覆盖旧提交的新提交。

    git revert HEAD~3..HEAD  <--- 3 being number of commits to overwrite
    

    更多信息请参见this article

    【讨论】:

    • 感谢您的评论。即使其他成员正在处理此 repo,此方法是否可以实施?
    • @PassengerInspired 在这种情况下,您将使用revert
    • 谢谢,非常感谢您的帮助。还有一个问题,如果我有一个特定的提交,我想恢复到该命令是什么?
    • 使用git revert &lt;commit# here&gt; 其中commit#是日志命令显示的sha hash
    • 一旦我恢复,我必须推回遥控器吗?对于多个问题,我深表歉意
    猜你喜欢
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 2015-01-11
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2015-10-16
    相关资源
    最近更新 更多