【发布时间】:2017-01-23 23:32:56
【问题描述】:
我克隆了一个 repo,然后立即运行 git status
我希望我的工作目录是干净的,而不是我的更改未暂存以提交。
运行 git reset --hard 不会清理我的工作目录
我跑了git checkout pe_oim_admin_2/runtime/prod/he1alxvpmid304/setcp_oim.sh。我注意到运行 git status 时文件的路径发生了变化:pe_oim_admin_2/runtime/Prod/he1alxvpmid304/setcp_oim.sh。 Prod 文件夹现在有了大写字母。
我的 git 版本是 1.9.5.msysgit.0。我更新到 2.9.0.windows.1 并且遇到了同样的问题。
知道为什么 git 会这样吗?
我尝试运行 git clone 并将 core.autocrlf 设置为 true 和 false。在这两种情况下,我的行为都相同。
这两行在我的 .gitattributes 文件中:
* text=auto
*.sh text
【问题讨论】:
-
可能是 Windows 不区分大小写而所有操作系统都区分大小写的问题。
-
你有没有试过把它克隆到一个你以前没有做过的目录中?
-
我在同事的机器上试了一下,在不同的目录下。运行 git status 后仍有未暂存的更改提交。
-
这是由于您的 'autocrlf' 设置(处理行尾的旧方法和坏方法)。使用“.gitattributes”解决它。没什么相关的,但你真的应该将你的 git 更新到最新版本(1.9.5 有一些错误,新版本有一些特定于 windows 的增强功能!)
-
为什么是 2.9.0?为什么不是最新的 2.11?
标签: git