【发布时间】:2013-02-13 18:11:30
【问题描述】:
我在 github 中做了错误的提交,我想做以下事情:
- 从与 master 不同的分支签出旧提交
- 将此提交设为我的最后一次提交(在此之后删除)
- 将此分支设为主分支并删除所有其他分支
- 将 master 分支合并到一个新分支
可以这样做吗?
【问题讨论】:
-
这个post 可能会有所帮助。
标签: github git-commit git-checkout
我在 github 中做了错误的提交,我想做以下事情:
可以这样做吗?
【问题讨论】:
标签: github git-commit git-checkout
关键命令是:
git checkout -B master aSHA1
如果你知道你想在哪里重置你的主分支,那就是在一行中完成的方法。
-B <new_branch>
创建分支
<new_branch>并在<start_point>启动它;
如果它已经存在,则将其重置为<start_point>。这相当于运行“git branch”和“-f”;
那你就可以强制推送了:
git push --force
这会将origin/master(GitHub 端的主分支)重置为您的旧 SHA1。
【讨论】:
master 分支),是的。