我们公司希望从svn切换到git / hg。
我们目前的环境是:
我们不想在本地工作,因为备份(服务器端)和在localhost等上运行虚拟机(PHP-Webserver)。
所以我可以通过SSH从服务器克隆到映射的驱动器(比如Z:\
),这实际上是同一个Linux机器。
我们有一个大约有20k档案的回购,所以git status
就像永远一样(因为它是远程的)。
我们可以告诉git / hg(或客户端)还要SSH到我们的Z:\
吗?
我们还想在C:\
上运行所有内容并通过ssh将其同步到服务器的文档根目录,但感觉不对...
答案 0 :(得分:2)
"我们还想到在C:\上运行所有内容并通过ssh将其同步到服务器的文档根目录"
使用分布式VCS(Git / Hg)意味着在本地工作:这些工具的设计旨在最大限度地减少延迟:没有任何网络连接(克隆/拉/推除外)
将您的仓库放在Z:
上是可以接受的,但直接在网络驱动器上工作(状态,提交,...)不是。
只需将Z:
上的仓库克隆到C:
,然后在本地工作即可。完成后,请回到Z:
回购。尤其是Git 2.3+, which allows you to push to a non-bare repo。
答案 1 :(得分:0)
如果您不担心命令行,可以在服务器上通过SSH使用Mercurial或git。这要快得多,因为服务器上的工具具有在本地文件系统中使用的优势,而不是通过更慢的SMB协议来压缩所有内容。
当您坚持在Windows端运行客户端时,通常可以将客户端配置为使用不同的hg / git可执行文件,然后由脚本替换,该脚本通过ssh将所有命令转发到服务器。但是这样的解决方案往往非常脆弱,我会非常反对它。