【发布时间】:2016-03-07 22:41:06
【问题描述】:
创建新的 git 分支后,我删除了一些文件。然后我决定放弃这些更改并删除分支而不合并。但是文件没有回来。我该怎么办?
我遵循的步骤:
git checkout -b newbranche- 我在 IDE Cloud9 中工作并删除了一些文件,包括模型和迁移文件。
-
git checkout master和git branch -D newbranche - 我认为这应该撤消所有更改/删除的文件。我重新启动了 IDE 并刷新了它的资源管理器(在那里您可以看到所有文件和文件夹),但我删除的文件不再存在。我没有合并更改怎么会这样?
- 在主分支中,如果我输入
git status,我会在“未暂存的更改”下获得所有已删除文件的概览。它还说:使用“git checkout -- ...”来丢弃工作目录中的更改。
如何完全撤消我在“newbranche”分支中所做的更改/删除文件?
【问题讨论】:
-
你是用哪个命令删除文件的?
-
如果您删除的文件正在被 git 跟踪并且它们存在于
master分支上,那么在您执行您所做的操作后它们就会存在。我的猜测是它们没有被 git 跟踪,所以你只是删除了系统上的文件,在这种情况下,除非你在某处有备份,否则你无法恢复它们。 -
在 IDE Cloud9 中,我只是在 IDE 的资源管理器中右键单击该文件并选择删除。
-
文件已被跟踪。如果我去 bitbucket,删除的文件仍然存在于 master 分支的源代码下。看起来更像是我删除了 master 分支中的文件(鉴于我在 master 分支中为
git status提到的输出)但尚未提交这些更改。 -
那么就做
git checkout master; git reset --hard origin/master。注意:这将撤消您自origin/master以来所做的任何提交,并将删除您可能拥有的对跟踪文件的任何更改。
标签: git cloud9-ide