【问题标题】:Undo a commit on Github? [duplicate]撤消在 Github 上的提交? [复制]
【发布时间】:2013-03-30 03:55:08
【问题描述】:

我有 2 个分支 master 和 sandbox 的本地存储库设置。 我对沙盒进行了更改: 1. 工作版本的更改,以及, 2. 使该版本在我的 Windows 机器上运行的更改。

我分别提交了更改,首先是1,然后是2。 然后我将master 分支与sandbox 分支合并。

现在因为我想忽略更改集 2(为了在 Windows 上工作而进行的更改),所以我创建了一个 .gitignore 并包含以下内容。

$ cat .gitignore

#changed for local
conn.php
.htaccess

然后我将 master 分支推送到 GitHub 上的远程主服务器,但现在查看最后 2 次提交,它们是本地机器开发环境更改 (2)。

而且,我用notepad++ 创建了我的.gitignore,但它没有隐藏,看起来像一个文本文件。

所以,我想撤消 github remote repository 上的最后 2 次提交。

【问题讨论】:

    标签: git github


    【解决方案1】:

    您可以使用 reset --hard 命令,但要注意它会清除工作副本中任何未提交的更改。找到您希望分支指向的提交的 sha1(即在最后 2 次提交之前),然后使用:

    git reset --hard abcdef1234
    

    其中 abcdef1234 是您要返回的提交的 sha1。之后,您可能必须使用以下命令强制将更改推送到遥控器:

    git push -f origin sandbox
    

    或者master,看你修改的是哪个分支

    【讨论】:

    • 请注意,如果有人已经从该存储库中拉取,他不会看到删除(一开始),然后会得到合并(拉取时)或错误(推送时)
    猜你喜欢
    • 2023-04-09
    • 2021-05-30
    • 2021-12-26
    • 2020-05-09
    • 1970-01-01
    • 2013-10-18
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多