撤消对文件

时间:2017-04-04 10:44:15

标签: git

我检查了我的存储库的主分支。它有以下4个文件。

  1. 此时就把one.txt存盘
  2. Two.txt
  3. Three.txt
  4. Four.txt
  5. 在阅读这些文件时,我最终对 Two.txt Four.txt 进行了小的但无意的更改。这些更改具有添加换行符或空格或删除其中一些的性质。检查它们并不会有什么坏处,但我不愿意。

    我仍然在主分支机构中,我想撤消对这两个文件所做的更改。

    当我这样做时:

    $ git status
    

    它的内容如下:

      

    未提交提交的更改。

         

    Two.txt

         

    Four.txt

    我理解除非我添加它们,否则对这些文件的更改将被取消跟踪,因此不会被视为提交。

    但是我仍然希望回滚对这些文件所做的更改并获取我下载的真实版本。

    我做了:

    $ git checkout
    

    但那并没有让红色消失。

    然后我做了:

    $ git pull
    

    因此,它会从远程主服务器获取并合并到我的本地主服务器,但这并没有覆盖我对 Two.txt Four.txt

    如何使用远程repo主人拥有的原始内容覆盖我对 Two.txt Four.txt 所做的更改?

2 个答案:

答案 0 :(得分:2)

如果要重置所做的所有更改

 git checkout -f

如果您想要仅签出非分段更改

git checkout -- .

答案 1 :(得分:1)

要撤消更改,请使用checkout

git checkout -- Two.txt Four.txt

或者,如果您的工作区是干净的,并且不包含任何您不想放松的新更改,在这种情况下,您可以使用reset --hard来强制您告诉它的提交

# I want the version of HEAD
git reset --hard HEAD

请注意,这会将HEAD的版本应用于项目的所有文件

另一个有用的命令stash

 # To move changes from the workspace
 git stash
 # Delete that stash
 git stash pop