Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么我的git命令不覆盖我的本地更改?_Ruby On Rails_Git_Github - Fatal编程技术网

Ruby on rails 为什么我的git命令不覆盖我的本地更改?

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

我在做一个Ruby项目,只是在迁移和实体方面做了一些糟糕的决定

好的,我将获得我的主分支的内容并覆盖我所做的糟糕工作

我使用:

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删除所有非暂存文件

没什么。我想用远程数据覆盖我所有的本地更改。我做了所有的事情,但所有未老化的文件仍在那里继续。它们不会被删除。