如果这个问题已被提出并回答,我很抱歉,但我无法找到它。
基本上,我没有创建分支,而是在主分支中实现了应用程序的alpha版本,并在旧应用程序的分叉版本的顶部提交了几次。
是否可以将主分支恢复到原始状态?
本
答案 0 :(得分:0)
使用git log
显示master
分支的提交。根据此信息确定您要删除的提交数量。
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
然后使用git rebase删除指定数量的提交。
git reset --hard HEAD~3 <--- Number of commits
请注意,使用--hard
会导致所有当前更改都丢失。这个答案还假设您希望删除的提交按顺序排列。
如果您在协作环境中工作,请使用git revert
代替reset
。这将发出一个覆盖旧提交的新提交。
git revert HEAD~3..HEAD <--- 3 being number of commits to overwrite
有关详细信息,请参阅this article。
答案 1 :(得分:0)
尝试
git checkout master git reset --hard origin/master