如何让Hg/Git成为远程回购?

bal*_*dre 5 git mercurial repository

我是DVCS 的初学者(我来自SVN世界),现在我掌握了自己的本地仓库,我想设置一台远程计算机(Amazon EC2)来保存我的Web文件,这样我就可以轻松更新网络应用程序没有FTP或某些东西

我想最终使用:

hg push http://hg.domain.com/webserver/hello
Run Code Online (Sandbox Code Playgroud)

或者git

git push myAmazon master
Run Code Online (Sandbox Code Playgroud)

我需要在远程服务器中配置什么(安装Hg/Git)使文件夹成为回购使用init,下一步应该是什么?


也许我没有100%清楚上面的答案,所以这是一个简单的问题

我想用Git/Hg替换FTP上传,我该怎么做呢? push

那么,让我们想象一下这种情况:

C:\Inetpub\wwwroot\mybrandNewWebApp IIS中托管的站点的根(这是一台远程计算机,例如:在Amazon EC2中),在此目录中,我使用git init/ 启动了一个存储库hg init.

如何从我自己的笔记本电脑配置这个存储库我可以执行push remote"上传我的更改"?

如何将此存储库配置为Reachable和Pushable?


阅读所有评论的问题?

我应该创建其他目录作为repo并使用良好的推送我可以运行一个实际更新网站根目录的脚本吗?

ang*_*son 1

对于 Mercurial,您需要设置hgwebMercurial 附带的 Web 服务器,至少在源版本中是这样。

步骤是(可能顺序不正确):

  1. 在您的服务器上设置 IIS
  2. 下载 Mercurial 源代码,并按照教程了解哪些文件可在您设置的 IIS 应用程序中可用
  3. 配置IIS运行python程序(Mercurial hgweb是一个python cgi脚本)
  4. 根据您的托管需求配置 hgweb

网络上有很多教程,但没有一个教程是 100% 完整的,也就是说,如果您一步一步地遵循它们,那么一切都会起作用,但只要进行少量修改,它就会起作用。

这是几个:


编辑:我的答案告诉您如何设置可以推送到的 Mercurial Web 服务器。由于您的目标是通过推送更改来更新 Web 服务器,因此还有其他选项:

我有相同类型的设置,但我所做的如下:

  1. 我在其中一家托管公司在线创建了一个帐户(我使用Kiln,但其他人很容易做到)
  2. 然后,我配置了在那里设置的存储库,以便每当我推送到存储库时 ping 我的 Web 服务器。基本上,当我推送时,Kiln 服务器将在我自己的服务器上调用一个带有一些信息的 cgi 脚本
  3. 我的 cgi 脚本被 ping 后,会hg pull -u在本地克隆中执行正常命令,然后执行 ROBOCOPY 将所有内容(除了一些调试文件和 .hg 目录)镜像到主网站文件夹中

这意味着:

  1. 我不必托管自己的存储库
  2. 我不需要经历设置自己的 Mercurial/Git 服务器的麻烦
  3. 我不需要处理(阅读:担心)该设置的安全性
  4. 我仍然可以使用推送更新网站功能