将更改从git分支还原到master分支



我使用Ruby on rails语言,创建了一个名为user-micpost的分支。在这个分支中,我创建了文件,修改了文件,并完成了数据库迁移。

我在某个地方搞砸了,所以我想恢复它目前在GitHub上的代码,或者将代码返回到创建这个新分支之前的状态。

这样做是否足够:

CCD_ 1然后CCD_?

或者这只会删除分支而不会恢复更改?

我还没有提交,所以所有的更改都是IDE上的本地更改。(im使用AWS Cloud9 IDE(

由于您没有执行git add <file>(所有更改都是IDE上的本地更改(,因此您的更改应该在未声明/未跟踪的文件下。如果运行git status命令,则可以确认。

有3个选项可以撤消IDE上的本地更改。

  1. 放弃所有本地更改,但将其保存以备以后再次使用:git stash
  2. 放弃对文件的所有本地更改(永久(:git checkout -- <file>
  3. 永久放弃对所有文件的所有本地更改:git reset --hard

最后一个选项是一个危险的命令,如果你不确定自己在做什么,你应该避免使用它,因为它会删除所有未提交的更改。然而,在你的情况下,这似乎是你想做的

有关详细信息:https://docs.gitlab.com/ee/topics/git/numerous_undo_possibilities_in_git/#undo-本地更改

由于您没有提交更改,您可以按照建议签出主分支并删除新分支。遗憾的是,您未经限制的更改仍将存在!由于它们一开始并没有被提交,所以它们只是停留在你的工作目录中。要清除它们,您必须使用git reset --hard HEAD之类的命令重置整个工作目录。这将放弃所有更改并重置为当前分支的HEAD(即master(。

最新更新