介绍:git restore < filename >可以用户撤销工作区中还没有缓存的修改,也就是在工作区中进行了修改并且还没有使用git add将这些修改添加到缓存区。若这些修改已经使用git add添加到了缓存区,但还没有使用git commit 添加到版本库,那么可以使用git restore --staged < filename >。
举个栗子:
当前处于主分支,共有一个文件f1,f1中已经有了一些内容,如下所示。
现在我在f1中添加一行新内容,然后查看分支状态。
从上图中可以看到我在f1中加了一行,并且在查看分支状态的时候也提示我当前有未缓存的修改。
此时如果我发现刚加的内容是不应该加上去的,那么运行git restore < filename >就可以撤销这个修改。如下:
如我没哟及时发现新增的内容是多余的,并且已经使用git add命令将工作区中的修改提交到了缓存区,但万幸的是我还没有使用git commit 将修改提交到版本库。这个时候我可以使用git restore --staged < filename >将这些修改从缓存区撤销掉,然后在使用前面所讲的git restore < filename >将这些修改从工作区中撤销掉。如下:
添加新内容
使用git add将修改提交到缓存区
使用git restore --staged < filename >将这些修改从缓存区中撤销
使用git restore < filename >将这些修改冲工作区中撤销
可以发现f1又回到了原先的状态。