changes not staged for commit 解决办法

git中checkout 新理解

1、遇到的问题?

今天在进行Git操作时,在linux环境下我想把某一个分支的,某一个 文件或者类 单独回滚,发现网上很多命令都是一次回退整个 文件夹,跟windwos下不同,在IDEA中我们直接可以用 图形化操作点git Rollback就可以,但是linux下,需要我们敲一个回退的命令,这个命令是什么呢?
目标:将这 release.sh 一个文件 单独回退
changes not staged for commit 解决办法_第1张图片

之前对于git checkout的认识停留在可以执行以下操作:

git checkout 分支名  # 用于切换分支
git checkout -b 分支名 # 用于创建分支并切换

git checkout HEAD

以下为自己的理解:

git实际上维护的是一串历史记录,每个历史标号都是一条记录的id,而不同的分支表示不同的指针,指向某一个历史标号,沿着那个标号往前,可以查看所有的历史记录。而HEAD也是一个指针,只是我们经常情况下将其和分支指针指向同一个历史记录,而使用git checkout命令就是用来移动HEAD指针的。

解决问题:
git checkout HEAD [ filename ]
或者git checkout - - [ filename ]
撤销对工作区所做的一切更改,这样以前所有的修改就都没有,慎用!
changes not staged for commit 解决办法_第2张图片
在这里插入图片描述

你可能感兴趣的:(Git,git)