我尝试放弃工作目录中的更改(重置为文件的当前索引版本),但是,git checkout -- <file>不会放弃这些更改。我尝试手动删除文件(rm -r files),然后运行git checkout -- .,它会再次将文件显示为已修改。
$ git checkout -- .
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: files/Hulk.png
# modified: files/Hulk_2.png
#
no changes added to commit (use "git add" and/or "git commit -a")运行git diff显示文件已修改...
diff --git a/files/Hulk.png b/files/Hulk.png
index 1c256cb..1d37fe0 100644
Binary files a/files/Hulk.png and b/files/Hulk.png differ
diff --git a/files/Hulk_2.png b/files/Hulk_2.png
index 1c256cb..0717199 100644
Binary files a/files/Hulk_2.png and b/files/Hulk_2.png differ注意:有些人说要运行git checkout .,但这将达到与git checkout -- .相同的结果。--只是在git checkout命令中使用的符号,用于区分树/提交点和文件/路径。
操作系统: OSX 10.6 Git: 1.7.10.2
发布于 2018-03-04 06:44:10
为了避免下次出现这个问题,我决定将我的文件系统转换为区分大小写。
令我惊喜的是,它在Mac (10.13.4)上非常容易。
可以使用不同的文件系统快速创建新的磁盘卷:
卷上运行磁盘应用工具,然后单击Container
我将新卷命名为"Projects“,并将格式设置为APFS (区分大小写)。
在那之后,我将所有的项目都移到了新的卷中。
https://stackoverflow.com/questions/11458926
复制相似问题