在Github上取消提交?
在Github上取消提交?
我在本地仓库设置了两个分支master
和sandbox
。\n我在sandbox上进行了更改:\n1. 对工作版本的更改,\n2. 对使版本在我的Windows机器上正常工作的更改。\n我分别提交了这些更改,首先是1
,然后是2
。\n然后我将master
分支与sandbox
分支合并。\n现在,因为我想忽略更改集2
(使其在Windows上正常工作的更改),我创建了一个包含以下内容的.gitignore
文件。\n
$ cat .gitignore #changed for local conn.php .htaccess
\n然后,我将master
分支推送到GitHub上的远程主分支,但是现在看最近的两个提交,它们都是本地机器开发环境的更改(2
)。\n而且,我用notepad++
创建的.gitignore
文件不是隐藏的,看起来像一个文本文件。\n因此,我想在github远程仓库
上撤消最近的两个提交。
在Github上撤销一个提交的原因可能是因为提交的内容有误或者需要修改。为了解决这个问题,可以使用reset --hard命令来撤销提交,但需要注意这将清除工作副本中的任何未提交的更改。首先找到你想要分支指向的提交的sha1(即最后2个提交之前的提交),然后使用以下命令:
git reset --hard abcdef1234
其中abcdef1234是你想要回到的提交的sha1。之后,你可能需要使用以下命令强制推送你的更改到远程仓库:
git push -f origin sandbox
或者master,取决于你正在修改的分支。需要注意的是,如果有人已经从该仓库拉取了代码,他在开始时将无法看到撤销的更改,然后会在拉取时得到合并或在推送时得到错误提示。