使用 git "inside" 或 "outside" 虚拟机?

Using git "inside" or "outside" virtual machine?

我即将与新同事一起开始一个项目,我们正在努力寻找设置工作环境的最佳方式。

我们正在使用 Vagrant 和 Virtual Box 在相同的环境和大约 git 上工作,我们想知道是否最好在 VM 中安装 git 并从这里推送提交或者只需在 Vagrant 共享文件夹中的本地 OS 上使用 git。

你们在团队工作时通常做什么?

我认为两者都有用,在 host os 和虚拟机中都有 git。将它放在 host os 上允许使用 git 而无需进入虚拟机,将它放在虚拟机中允许使用 git 而无需离开虚拟机(如果你目前在那里工作)

通常你会在当地与 vagrant 一起工作。所以你必须在本地机器上有git。

git 存储库将位于共享文件夹中。如果您在 VM 上安装 git,您对共享文件夹装载所做的任何提交都将对本地计算机可见。

我几乎总是在虚拟机之外使用 Git。这样,VM 中就没有重要的状态,我可以丢弃它并重建它,或者恢复到快照,或类似的东西,而不用担心丢失任何未推送的状态、存储、未提交的文件等.

现在 git 的最佳做法是让一个主存储库(通常称为 origin)由 GitHub、BitBucket 或任何在网络上托管其他服务。

同时,您可以在任何您想要的地方托管存储库 - 在 VM 内部、VM 外部、您同事的主机上等等,如果您愿意并出于某种原因认为它是更好的方式。

每个应该在存储库中读取或写入文件的环境通常都必须有自己的本地副本。

所以为了您的目的使用 VM 真的无关紧要。

唯一与共享文件夹有关的东西 - 请注意文件访问规则。如果您的设置无法为文件系统修改提供足够的访问权限 - git 可能无法正常工作。