我使用Ruby on Rails语言工作,我创建了一个名为user-micropost的分支。在此分支中,我创建了文件,修改了文件并完成了数据库迁移。
我在某个地方搞砸了,所以我想恢复它当前在GitHub上的代码,或者将代码返回到创建新分支之前的状态。
这样做是否足够:
git checkout master
然后是git branch -d branch-name
?
还是那只会删除分支但不会还原更改?
我尚未提交,因此所有更改都在IDE上本地进行。 (即使用AWS Cloud9 IDE)
答案 0 :(得分:1)
由于您没有执行git add <file>
(所有更改都在IDE上是本地的),因此您的更改应位于未声明/未跟踪的文件下。您可以确认是否运行了git status
命令。
有3个选项可以撤消IDE上的本地更改。
git stash
git checkout -- <file>
git reset --hard
最后一个选项是一个危险的命令,如果不确定自己要做什么,应该避免使用该命令,因为它会删除所有未提交的更改。但是,就您而言,这似乎就是您想要做的。
有关更多信息:https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/#undo-local-changes
答案 1 :(得分:0)
由于您尚未提交更改,因此您可以检出master分支并按照建议删除新分支。 las,您尚未提交的更改仍然存在!由于它们不是首先提交的,因此它们只会停留在您的工作目录中。要摆脱它们,您必须使用git reset --hard HEAD
之类的命令来重置整个工作目录。这将放弃所有更改并重置为当前分支的HEAD(将为master
)。