[英]Revert changes from a git branch to the master branch
我在轨道上使用 Ruby 语言工作,我创建了一个名为 user-micropost 的分支。 在这个分支中,我创建了文件、修改了文件并完成了数据库迁移。
我在某个地方搞砸了,所以我想恢复它当前在 GitHub 上的代码,或者在创建这个新分支之前将代码返回到 state。
这样做是否足够:
git checkout master
然后git branch -d branch-name
?
或者这只会删除分支但不会恢复更改?
我还没有提交,所以所有更改都是 IDE 上的本地更改。 (我使用 AWS Cloud9 IDE)
由于您没有执行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
由于您没有提交更改,因此您可以签出 master 分支并按照您的建议删除新分支。 唉,你未提交的更改仍然存在,因为它们一开始就没有提交。 它们只是停留在您的工作目录中,要摆脱它们,您必须使用git reset --hard HEAD
类的命令重置整个工作目录。 这将丢弃所有更改并重置为当前分支的 HEAD(即master
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.