在本地使用Git"#34;通过SSH

时间:2017-01-02 16:25:37

标签: git ssh mercurial repository

我们公司希望从svn切换到git / hg。

我们目前的环境是:

  • 视窗-DEV-机
  • 远程Linux服务器(通过1 Gbit LAN)
  • Samba在服务器上共享,在Windows中映射

我们不想在本地工作,因为备份(服务器端)和在localhost等上运行虚拟机(PHP-Webserver)。

所以我可以通过SSH从服务器克隆到映射的驱动器(比如Z:\),这实际上是同一个Linux机器。

我们有一个大约有20k档案的回购,所以git status就像永远一样(因为它是远程的)。

我们可以告诉git / hg(或客户端)还要SSH到我们的Z:\吗?

我们还想在C:\上运行所有内容并通过ssh将其同步到服务器的文档根目录,但感觉不对...

2 个答案:

答案 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将所有命令转发到服务器。但是这样的解决方案往往非常脆弱,我会非常反对它。