【问题标题】:Git Bash(Guest OS) and GitBash(Host OS) show different statusGit Bash(Guest OS) 和 GitBash(Host OS) 显示不同的状态
【发布时间】:2019-05-03 09:45:38
【问题描述】:

一点介绍。

我的来宾(VirtualBox)Ubuntu 操作系统上有一个存储库。我通常通过 Putty SSH 终端访问它。从那个终端我可以运行“git status”并看到工作目录是干净的。

但是。我想在主机 Win10 机器上使用我的 GUI Git 扩展。因为 Ubuntu 是无 GUI 的。所以我使用Samba 共享文件夹。现在我可以使用我的代码编辑器以及其他 GUI 应用程序,例如 Git Extensions。但问题是主机上的 Git 和来宾上的 Git 在同一目录上运行时显示不同的状态。请参阅下面的示例。

Git Bash(Guest) 和 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(无 GUI)上)。

为同一个存储库运行 GitBash,但从主机操作系统给出相同的结果:

谁能解释一下这种差异是从哪里来的?

【问题讨论】:

  • 你确定 git-extensions 支持 git status 命令吗?我找不到它的文档。也许它只是不受支持。
  • 它是内置的控制台扩展使用。我猜它使用默认系统 git bash 控制台
  • 这些输出是 same repo 的吗?还是一个在虚拟机上,另一个在主机上?
  • 看起来你不像在同一个仓库中运行git status。从技术上讲,在控制台中运行的命令的输出与 GE 本身无关——你运行了一个 git 命令并收到了一个输出。我们只是托管一个控制台,因此用户不需要切换到不同的窗口。在 UI(例如修订图或左侧面板)中,GE 仅显示它从 git 收到的内容。
  • 可能是 autocrlf 问题?我更喜欢完全禁用行尾转换。 git diff 显示什么?

标签: git virtual-machine samba


【解决方案1】:

首先要做的事:像你做的那样“共享本地访问”对存储库绝不是一个好主意。如果您需要在多个环境中使用一个 repo,您​​应该在每个环境中克隆它。

由于您在不同的操作系统之间进行共享,因此每个操作系统都有可能以不同的方式解释工作目录的状态。 (例如,它可能与行尾有关 - 我认为这很可能 - 或文件名大写 - 我认为不太可能。)

您也许可以围绕这些差异进行配置;或者您可以通过使用 git 内置的机制在环境之间共享存储库来消除潜在问题(并避免其他潜在的陷阱)。

【讨论】:

  • 是的,我看到它是关于行尾的。出于其他原因,我不使用 Windows git,而是使用 GUI 作为 Git 扩展进行监视。没有提交,没有任何推送。只是观察提交和工作目录之间的图表和差异。但是只有当我想查看 HEAD 和工作目录之间的区别时才会出现问题。它表明一切都发生了变化,而事实并非如此。我只想让 HOST(Win10) git 忽略行尾字符的差异,这样我就可以使用 GUI。再次,只是为了观看。
  • 我的第一个想法也是建议不要在多个环境中使用一个 repo,但后来我意识到我每天都在这样做——因为我同时使用 git bash 和 Eclipse egit 访问同一个存储库.这并没有什么不同。它的工作原理 - 仅关于问题的 git 部分 - 非常好。
  • @Marcus - 不,完全不一样
  • 告诉我为什么?!?
  • @Marcus - 如果您需要在线人的帮助,我会检查您的态度。至于为什么,让我们从:您有多少个不同的操作系统访问该 repo 实例?
猜你喜欢
  • 1970-01-01
  • 2015-12-01
  • 2017-10-29
  • 2013-09-18
  • 2013-05-08
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多