6

我在 github 上做了错误的提交,我想做以下事情:

  1. 从与 master 不同的分支签出旧提交
  2. 将此提交作为我的最后一次提交(在此之后删除那些)
  3. 将此分支设为主分支并删除所有其他分支
  4. 将 master 分支合并到一个新分支

是否有可能做到这一点?

4

1 回答 1

5

关键命令是:

git checkout -B master aSHA1

如果您知道要在哪里重置 master 分支,那么这就是在一行中完成的方法。

git checkout手册页

-B <new_branch> 

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

然后你可以强制推送它:

git push --force

这会将origin/master(GitHub 端的主分支)重置为您的旧 SHA1。

于 2013-02-27T20:17:04.323 回答