假设我有两台机器设置:
客户端
- 让我们假设一个窗口框
- 假设这是一个开发箱,所有要置于源代码管理下的文件都将 在这里
- 假设这里没有安装源代码控制
服务器
- 让我们假设一个 linux box
- 让我们假设 Git 是选择的源代码控制(已安装)
- 已启用 SSH
问题: 是否可以从客户端连接到服务器,比方说通过 SSH 进行争论,并在登录到服务器后调用 Git 命令,但在客户端(本地)系统的文件上?
例如SSH client (only ssh) ----- SSH Server (这里安装了ssh和git)
send command --> command: checkout to <client path>
send command---> command: check-in from <client path>
基本原理:换句话说,我不想为 VCS 安装软件客户端,而是希望 SSH 充当启动器;在 Git 的情况下,虽然 mysys for git 和 cygwin 解决方案都存在,但每个都有自己的缺点——所以我想在 Linux 机器上编译/设置全功能版本,但仍然允许源代码控制发生在 window 。
这可能吗? (不一定是SSH,任何协议(protocol)都可以,只要不需要VCS的软件客户端即可)
我可以通过 ssh 连接到服务器,将客户端路径挂载到源文件,然后对该路径的所有文件执行版本控制命令吗?
最佳答案
Could I ssh to the server, mount the client path to the source files, then perform the version control commands on all files of that path?
是的,你可以,非常容易。查看用于 Linux 的 SAMBA 或安装用于 Unix 的 Windows 服务,并让客户端充当 NFS 服务器;无论哪种方式都可以。
就 Linux 应用程序而言,如果它安装在/下,那么它必须通过网络访问文件这一事实是无关紧要的 - 文件系统驱动程序负责这一点。
因此,是的,如果您将 c:\mysource
作为 /mnt/windows/c/mysource
安装在您的 linux 服务器上,那么您没有理由不能将 git 用作在该目录中文件的 linux 框上。结果当然会通过网络传输。
关于git - 在没有 VCS 客户端的情况下在本地文件系统上使用远程版本控制 (VCS) 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298754/