在Github上取消提交?

5 浏览
0 Comments

在Github上取消提交?

我在本地仓库设置了两个分支mastersandbox。\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远程仓库上撤消最近的两个提交。

0
0 Comments

在Github上撤销一个提交的原因可能是因为提交的内容有误或者需要修改。为了解决这个问题,可以使用reset --hard命令来撤销提交,但需要注意这将清除工作副本中的任何未提交的更改。首先找到你想要分支指向的提交的sha1(即最后2个提交之前的提交),然后使用以下命令:

git reset --hard abcdef1234

其中abcdef1234是你想要回到的提交的sha1。之后,你可能需要使用以下命令强制推送你的更改到远程仓库:

git push -f origin sandbox

或者master,取决于你正在修改的分支。需要注意的是,如果有人已经从该仓库拉取了代码,他在开始时将无法看到撤销的更改,然后会在拉取时得到合并或在推送时得到错误提示。

0