Unstaged changes left after git reset --hard

一.问题描述

工作空间有两个文件,覆盖不掉。git reset --hard,git checkout -- file 都覆盖不掉。

$ git status
On branch branch_NO17
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)

modified: xxx/js/lib/#dojo的一个路径#/gauges/xxx.js
modified: xxx/js/lib/#dojo的一个路径#/xxx.html

二.解决

1.删掉.gitattributes文件
工程内查找.gitattributes文件

$ find . -name .gitattributes
找到5个.gitattributes文件,都在js/lib包里。其中有两个在上述两个文件的上层目录。就删掉这个目录下的.gitattributes

$ git rm xxx/js/lib/#dojo的一个路径#/.gitattributes

2.将工作区所有添加到缓存区(包括对.gitattributes的删除)

$ git add -A

3.强制覆盖缓存区和工作区

$ git reset --hard

4.查看工作区和暂存区的状态

$ git status
On branch branch_NO17
nothing to commit,working directory clean
世界安静了,尽情享受吧!

参考:

相关文章

Git安装和使用 Git安装和使用 刚开始用git的小白适用,,转自...
fatal: remote origin already exists.解决方法 第一个问题g...
git常用命令(二)查看历史记录 git log [--pretty=oneline]...
git之如何把本地文件上传到远程仓库的指定位置 git专栏收录该...
代码规范之 lint-staged 在代码提交之前,进行代码规则检查能...
方法:1、文件没有git操作时用“git checkout--文件”命令还...