2013-02-27 77 views
3

我已经在github上做出了错误的提交和我想要做以下的事情:
git的结帐提交和删除新的承诺

  1. 结帐老从不同的分支提交比掌握
  2. 使这提交我的最后一次提交(删除那些在这之后)
  3. 使这个分支的主分支,并删除所有其他分支
  4. 合并主分支到一个新的

可以做到这一点吗?

+0

This [post](http://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github)可能会有一些帮助。 – SMT 2013-02-27 19:27:36

回答

2

的关键命令是:

​​

如果你知道你想要重置您的主分支,即做到在同一行的方式。

git checkout man page

-B <new_branch> 

创建分支<new_branch><start_point>启动;
如果它已经存在,则将其重置为<start_point>。这相当于运行“git branch”和“-f”;

然后你就可以强制将其推:

git push --force 

该重置origin/master(主分支上GitHub的一侧)到您的旧SHA1。

+0

谢谢我会尝试它,我会接受你的答案。 – user2065529 2013-02-27 20:40:32

+0

这也意味着我可以将主人恢复到初始状态? – user2065529 2013-02-27 20:42:21

+0

@ user2065529您可以将它重置为您希望的任何以前的提交(来自'master'分支),是的。 – VonC 2013-02-27 21:08:44