【发布时间】:2019-06-05 16:41:33
【问题描述】:
我在使用 git 的 Mac 上看到了奇怪的行为。我没有在 Windows 上看到这种情况。在 mac 上使用 git v 2.19.1,在 windows 上使用 2.18.0.windows.1。
我在一个跨平台团队工作,所以我们中的一些人使用 Windows,其他人使用 Mac。我两个都用。
这是我看到的场景:
我在我的功能分支上工作了几天,并希望确保我用远程上的最新更改更新我的分支,所以我总是在最新版本的远程上工作。因此,我每天都会执行以下操作以减少发生冲突的机会并使用最新版本:
git checkout develop
git fetch origin
git merge origin/develop
git checkout my-feature
git merge develop
完成后,我将更改应用到 my-feature 分支,但我注意到 git 在 Mac 上的行为非常奇怪。这是发生了什么:
我添加了一些更改
我还没有发布任何东西,所以没有发布
git add .我使用
git status并看到很多文件,好像它们已被我修改和暂存,即使我既没有修改也没有暂存它们。
例如,git status 将我的 .gitignore 文件现在显示为:
me$ git status
On branch my-feature
Your branch is up to date with 'origin/my-feature'.
Changes to be committed:
new file: .gitignore
在 Windows 上,这不会发生,因为我没有修改此文件,所以它根本不会显示在 git status 中。我修改后的文件显示需要添加,这是它的行为方式。
为什么我从未接触过的文件会在 Mac 上被 git 查看为以某种方式修改和暂存?
【问题讨论】:
-
我认为 MacOS 的 Git 发行版存在问题,因为很多人都报告了奇怪的错误。它们似乎都有一个共同点,即索引(也称为“暂存区”)正在损坏。