【问题标题】:Why Git Bash vs msys2 git throw different git status?为什么 Git Bash vs msys2 git 抛出不同的 git 状态?
【发布时间】:2020-12-18 02:12:13
【问题描述】:

假设我在 /d/projects/project01 中有一个 git 文件夹。

当我在 Git Bash 中执行 git status 和在 msys2 中执行 git status 时,它会抛出不同的输出(下图) 为什么会发生这种情况,我可以让这两个工作相同吗?

【问题讨论】:

  • 您可以编辑您的问题以显示每个目录中git rev-parse --show-toplevel 的输出吗?
  • 我相信 MSYS2 中的 git 有时会对行尾发生更改的文件感到困惑。您可以尝试进行提交,您可能会发现这些更改就消失了。您还可以阅读有关 git 选项的信息,例如 autocrlf

标签: bash git msys2


【解决方案1】:

在两个会话中检查git config core.autocrlf 的输出。

如果在 git bash 中为 false,但在 mingw2 中不为 false,则在第二个 mingw2 会话中将其设置为 false:

git config --global core.autocrlf false

【讨论】:

  • core.autocrlf 应被视为已弃用。此存储库 - 以及所有存储库 - 需要 .gitattributesedwardthomson.com/blog/…
  • @EdwardThomson 是的,我在 Stack Overflow 上已经说过很多年了。 (如 2010 年:stackoverflow.com/a/2517442/6309
  • 我知道!这就是为什么我很惊讶看到你的答案! :D
  • @EdwardThomson 我的答案只是开始并确保core.autocrlf 在两种环境中都设置为false。然后我们可以转到.gitattributes
  • @Luke 您能否在两个会话中都输入git config --global core.autocrlf false,然后再次克隆您的存储库,看看问题是否仍然存在?
猜你喜欢
  • 1970-01-01
  • 2012-01-23
  • 1970-01-01
  • 1970-01-01
  • 2016-10-27
  • 2021-08-20
  • 2020-10-06
  • 2017-02-14
  • 2015-11-28
相关资源
最近更新 更多