【发布时间】:2013-08-02 02:16:32
【问题描述】:
如果这个问题已经被问及回答,我很抱歉,但我找不到它。
基本上,我没有创建分支,而是在主分支中实现了一个应用程序的 alpha 版本,并在旧应用程序的分叉版本之上提交了几次。
是否可以将 master 分支恢复到其原始状态?
本
【问题讨论】:
标签: git git-revert
如果这个问题已经被问及回答,我很抱歉,但我找不到它。
基本上,我没有创建分支,而是在主分支中实现了一个应用程序的 alpha 版本,并在旧应用程序的分叉版本之上提交了几次。
是否可以将 master 分支恢复到其原始状态?
本
【问题讨论】:
标签: git git-revert
试试
git结账大师 git reset --hard origin/master【讨论】:
使用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。
【讨论】:
revert
git revert <commit# here> 其中commit#是日志命令显示的sha hash