2

有时,如果我在从 Git 中提取时在 Visual Studio 中打开了一个解决方案(这种开发环境中的常见情况),Visual Studio 似乎会锁定某些文件,因此 Git 无法覆盖它们。

当这种情况发生时,Git 似乎并不在意——它会继续拉取并认为我的本地存储库是最新的。但是,由于它无法写入的文件(通常是 .csproj 文件)尚未更新,因此在 Visual Studio 中不会构建任何内容,或者更糟糕的是,一切都会构建,但会添加一些新的古怪错误或文件丢失项目造成不可预测的结果。

如果 Git 失败并在存在无法覆盖的文件时回滚拉取,而不是仅仅忽略它,这对我来说会更有用。我猜这可以在某处进行配置,但我似乎无法找到要搜索的内容 - 任何人都可以建议我需要做什么吗?

4

1 回答 1

0

我收到的解释是,这与 Git 没有任何关系——如果 Visual Studio 打开了文件,它不会锁定它们,但会在你下次构建时重新保存它们(或出于其他异想天开的原因own ) 的结果是,如果它在 pull 之后执行此操作,它将覆盖 Git 已成功替换的更改,从而导致这些类型的问题。

于 2012-12-11T13:33:37.077 回答