Ruby on rails 为什么我的git命令不覆盖我的本地更改?
我在做一个Ruby项目,只是在迁移和实体方面做了一些糟糕的决定 好的,我将获得我的主分支的内容并覆盖我所做的糟糕工作 我使用:Ruby on rails 为什么我的git命令不覆盖我的本地更改?,ruby-on-rails,git,github,Ruby On Rails,Git,Github,我在做一个Ruby项目,只是在迁移和实体方面做了一些糟糕的决定 好的,我将获得我的主分支的内容并覆盖我所做的糟糕工作 我使用: git fetch --all git reset --hard origin/master 但是我在本地添加的文件仍然存在。我做错了什么 当您没有提交任何内容时,不需要重置(我相信这里就是这种情况) 只需调用git checkout.即可消除任何未提交的更改 说来话长: Git将更改存储在几个“阶段” 当您更改一个文件时,它是未老化的更改,请使用git check
git fetch --all
git reset --hard origin/master
但是我在本地添加的文件仍然存在。我做错了什么 当您没有提交任何内容时,不需要重置(我相信这里就是这种情况) 只需调用
git checkout.
即可消除任何未提交的更改
说来话长:
Git将更改存储在几个“阶段”
- 当您更改一个文件时,它是未老化的更改,请使用
或git checkout
git checkout对每个文件进行还原
- 当您暂存一个文件
或文件的一部分,甚至git add
时,就称之为暂存,准备提交。您仍然可以使用git add-p
git重置头返回
- 提交时,将在本地分支中创建提交,此时将使用
以摆脱提交,但保留更改(回到第一点)git reset origin/master
同上,但清除所有更改git reset——硬原点/master
因此,对于您的情况,为了消除本地的、未提交的更改:
git checkout.
,并且,如果您有一些提交,您不希望git重置--hard origin/master
这里的秘密是使用git clean-f删除所有非暂存文件 没什么。我想用远程数据覆盖我所有的本地更改。我做了所有的事情,但所有未老化的文件仍在那里继续。它们不会被删除。