我试图删除我的上一次提交。我认为git checkout
后跟commit
的哈希将用commit
的代码替换我当前的代码。这不起作用,我现在收到一条消息,提示Nothing to commit, working tree clean
。如何摆脱此消息并删除我的上一次提交?
答案 0 :(得分:1)
通过执行git checkout <hash>
,您进入了所谓的“分离头”状态,这简而言之意味着您现在不在任何分支上。如果您想返回常规分支,请执行以下操作:
git checkout <branch name>
(其中<branch name>
可以是master
,develop
,hotfix
中的任何一个-这实际上取决于您如何命名它们以及您用来管理开发/发布的流程循环...请尝试git branch --list
以获取列表)。
之后,如果要删除上一次提交,可以执行以下操作:
git reset --hard HEAD~1
但请注意--hard
开关,因为它将物理删除最近的提交,这基本上意味着它是不可恢复的(而且我真的不记得操作reflog是否会在这种情况下帮助恢复它。)
答案 1 :(得分:0)
您可能需要检查this StackOverflow question以获得更多详细信息,但这听起来像是仓库不了解您的本地分支。您需要使用以下方法来设置远程仓库:
git branch -u <upstream branch>
因此,如果您尝试推送至主分支,请使用
git branch -u origin/master