将 Git 与 Samba 共享文件夹一起使用

use*_*531 5 linux windows git samba

我是 Git 的新手,并试图确定如何最好地实现它。

我有以下四台机器:

  1. 运行 GitLabs 的 Linux 服务器,用于存储我的主存储库。
  2. Linux 生产服务器运行 Apache 等。我目前不关心这部分。
  3. Linux 开发服务器运行 Apache 等。它还运行 Samba 并将 /var/www 映射到 Windows。它位于我的家中并且位于 LAN 上。
  4. 运行 PHP IDE(恰好是 PhpED)的 Windows 7 PC。它位于我的家中,与 Linux 开发服务器在同一个局域网中。它直接编辑Linux开发服务器上Samba文件夹中的文件,并使用该文件夹进行调试,并没有直接在其上的代码。IDE 通过 TortoiseGit 具有一些基本的 Git 功能,但是,我还不知道它有多强大。

我目前不关心共享文件,而只关心版本控制。

我读过 Git 是关于本地化的。给出我的配置,这是否意味着 Git 在 Windows PC 上运行,即使我的工作目录不在它上面?还是仅在 /var/www/ 和 GitLab 存储库之间使用 Linux 来处理?你如何设想我在这种配置下实现 Git?

谢谢

Oli*_*ews 3

Git 处理文件。按照你描述的方式,你将在你的 Windows 电脑上运行 git - 文件实际上是通过网络而不是直接访问的事实是 git 可能不会意识到的。只要这是访问该共享的唯一计算机,就应该没问题。

但这并不是真正应该如何使用 git。它有自己的机制来在机器之间推/拉变化;因此,除非您正在运行有趣的无驱动设置,否则您可能应该考虑将工作目录存储在正在编辑的计算机上。特别是如果有机会也可以从 Linux 机器访问文件(在多台机器之间混合对同一工作目录的版本控制访问始终是一个坏主意,更不用说在多个操作系统之间了。

  • 实际上,我会考虑以下两个选项之一: 1. ssh 到开发计算机上并在那里运行 git 命令 2. 使用 --git-dir 将 `.git` 目录移动到 Windows 计算机上,同时保留映射的开发文件。尽管只要您的开发机器将在共享上执行 git 操作,就可以将 git 目录放在那里。 (2认同)