【发布时间】:2020-01-18 20:12:04
【问题描述】:
我和我的团队正在处理一组项目,使用网络位置上的同一个本地 git 存储库。到目前为止,这对我们来说效果很好,一位开发人员所做的更改会立即反映给从事同一项目的其他人,并弹出一个指示已进行更改的弹出窗口。最近,一位新的开发人员来了,从那时起,我们一直遇到这种情况无法正常工作的情况,一位开发人员可以进行更改,但没有得到任何更改指示,保存他的工作并覆盖其他人所做的更改。
在开始之前,我知道不建议在此配置中工作。我知道理想情况下,每个开发人员都应该有自己的本地 git 存储库来处理,这样一个人的更改就不会影响其他人。此外,为了争论,我们假设我有充分的理由在这个配置中工作(所以请不要有任何关于“停止使用这个配置,因为它是错误的”的意见)。 在这种假设下,有谁知道为什么会发生这种情况?当我正在处理的项目(在本地 git 存储库下)从我的环境之外发生更改时,为什么 Visual Studio 应该停止更新我?
几个cmets:
- 我们都使用 vs pro 2017
- 新开发者开始使用 vs pro 2019 并切换到 2017
- 我们中的一些人使用了 resharper,但由于各种错误而停止使用它
【问题讨论】:
-
根据您的假设:可能是文件锁定问题。并行用户越多,每个人尝试读取和更改相同文件的机会就越高。 Git 输出窗口中有任何信息吗?
-
当您完全依赖命令行来执行命令时,这可能不是问题,Visual Studio 将持续扫描导致 Visual Studio 的每个实例打开和关闭文件的更改。
-
好吧....我不会告诉你你做错了并且你应该停止这样做...看.现在,实际上,您应该开始正确地 工作,因为您只是在以几个开发人员可能 侥幸逃脱的方式工作......但是一个开发人员团队将开始面临一个又一个问题,因为你正在踩对方的脚趾......这是可以预料的,没有解决方案......除了......猜猜是什么。
-
我明确表示我意识到这种配置的问题是为了避免此类 cmets。我不想详细说明,因为这本身就是一个相当广泛的讨论,但我只想说我在这件事上别无选择。
标签: git visual-studio visual-studio-2017 resharper visual-studio-2019