【问题标题】:Why are there changes in my working directory immediately after cloning in git?为什么在 git 中克隆后我的工作目录立即发生变化?
【发布时间】: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


【解决方案1】:

首先,在 Windows 上,您可以解压缩并使用 latest Git for WindowsPortableGit-2.11.0.3-64-bit.7z.exe(自动解压的exe)

其次,确保输入(在您想要的任何文件夹中):

git config --global core.autocrlf false
git config --global core.ignorecase true

然后再次克隆,看看您的git status 中是否还有更改。
见:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 2019-12-23
    相关资源
    最近更新 更多