我安装了Git for Windows,以便克隆和拉取托管在远程Linux服务器上的项目。 在我的存储库(D:/ repositories / my-project)中,我启动了以下命令
git clone server@192.168.56.101:/var/www/web/my-project/.git
git pull origin master
到目前为止一切顺利。每当在服务器上应用修改时,我都会拉出项目文件。 但是现在我想从远程服务器拉到或推送到我的本地存储库。 我尝试了很多东西,但我无法弄清楚如何访问本地机器上的存储库。 比如:
git pull duddy@my-pc:/d/repositories/my-project/.git master
只是没有用,Git说:
ssh:无法解析主机名my-pc:名称或服务未知 致命的:无法从远程存储库读取。
有人可以帮助我吗?
答案 0 :(得分:0)
首先,我建议您尝试简单地运行git pull
。
如果这不起作用,请尝试运行git remote -v
并检查以确保服务器的URL列为源(server@192.168.56.101:/ var / www / web / my-project /.git)。
您的问题是,您在尝试git pull
时输入了本地存储库的网址。
我建议您阅读git-pull documentation以了解有关拉动的更多信息。
答案 1 :(得分:0)
基本上,您需要在工作站上提供一些服务请求。有以下选项(我自己并没有尝试过大部分选项,只是根据我所知道的做法):
使用windows文件访问。这是最简单的在Windows工作站设置 - 只需共享存储库文件夹。 Linux方面应该以某种方式能够挂载Windows共享(如所描述的那样,例如:https://wiki.ubuntu.com/MountWindowsSharesPermanently)。如果您设法将\\my-pc\repo
安装到某些/mount/my-pc-repo
,则可以file:///mount/my-pc-repo
访问它。
在Windows上运行git守护程序。设置指令在SO处可用(例如,https://stackoverflow.com/a/2275844/2303202)并且它非常简单,但它没有任何身份验证,并且在大多数情况下仅将其用于阅读是合理的,因此您将无法推送到工作站,只获取。
设置ssh守护程序并通过具有读写访问权限的ssh身份验证进行访问。 Git for windows安装包含所需的软件(sshd.exe
二进制文件,它至少存在于Git for Windows 2.6.0中),可能有一种方法可以利用它,但我找不到它。
在您的工作站上设置HTTP(S)服务。我不知道是否可以只使用Git for Windows(它可能是,某些perl模块恰好包含在其中),或者你应该使用其他软件。