一点点介绍。
我的来宾(VirtualBox)Ubuntu OS上有一个存储库。我通常通过Putty SSH终端访问它。我可以从该终端运行“ git status”,并查看工作目录是否干净。
但是。我想使用来自Win10主机的GUI Git扩展。因为Ubuntu是没有GUI的。因此,我使用Samba共享了文件夹。现在,我可以使用我的代码编辑器以及其他GUI应用程序,例如Git Extensions。但是问题在于,当在同一目录中运行时,主机上的Git和来宾上的Git显示不同的状态。请参见下面的示例。
Git Bash(访客)和git扩展名(或主机上的GitBash)显示不同的状态。
Git扩展(主机操作系统):
- Git Extensions 3.00.00.4433
- Build fca7cf228b481ee8c1b779cf7b882ccdfbdcd1bc
- Git 2.20.1.windows.1
- Microsoft Windows NT 10.0.17763.0
- .NET Framework 4.7.3324.0
- DPI 96dpi (no scaling)
Git bash(访客操作系统):
git version 2.7.4
工作目录状态完全不同:
灰色的是GitExtensions控制台,浅蓝色的是git bash(在Guest Ubunty(GUIless)上)。
为相同的存储库运行GitBash,但是从HOST OS获得相同的结果:
有人可以解释一下这种差异的来源吗?
答案 0 :(得分:0)
第一件事:在您执行操作时,“共享对存储库的本地访问权限”永远不是一个好主意。如果需要在多个环境中使用存储库,则应在每个环境中对其进行克隆。
由于要在不同的操作系统之间共享,因此每个操作系统都有可能以不同的方式解释工作目录的状态。 (例如,它可能与行尾-我认为最有可能-或文件名大写-我认为不太可能有关。)
您也许可以围绕这些差异进行配置;或者您可以使用git内置的机制在环境之间共享存储库来消除潜在的问题(并避免其他潜在的陷阱)。