如何在托管的Web服务器上签出git标签

时间:2012-04-06 10:56:46

标签: git github web-hosting

我一直在开发一个Web应用程序并使用git进行项目。到现在为止,我一直在我的本地机器上运行它。既然我想在托管的Web服务器上查看它,我想创建一个标签。所以使用了git tag -a v0.1 -m 'version0.1'命令。命令git tag列出了我刚刚创建的标记。现在问题是我如何在我的网络服务器上签出(签出)这个标签?

我的托管网络服务器了解git命令。我想知道在我的服务器上有这个标记的命令或过程。服务器上不会有任何开发。

2 个答案:

答案 0 :(得分:2)

我知道您希望将git标记本地存储库副本放到托管Web服务器上。您还提到您的托管Web服务器已设置为了解git命令。

现在,在本地计算机上,为远程Web服务器定义名称并按下标记:

$ git remote add myHostedWebServer ssh://server.example.org/path/toyour/website.git

$ git push --tags myHostedWebServer

希望这有帮助

已更新: 我理解您的问题的方式是,您希望将本地更改直接推送到托管Web服务器。如果是这样,您可以按照上述步骤操作。但是现在你已经提到你在github上有你的代码并且更愿意从你的github更新你的web主机服务器,有几种方法,其中之一是:

  • 在您的本地计算机上执行:$git push myDefinedName master
  • 正如您所提到的,您的主机服务器了解git命令 并假设你有git init --bare来创建存储库, 导航到与git关联的托管Web服务器目录并执行:

    $git pull myDefinedName master

    $git checkout <tag name>

    或者,您可以使用post-receive hooks。您可以获得更详细的信息here

答案 1 :(得分:0)

我想出了一个简单的方法。无需定义新的遥控器。

  • 步骤1:在本地计算机上(提交代码后),只需执行以下操作:
    $ git tag -a vx.x.x -m "version x.x.x"
    $ git push --tags
  • 步骤2:然后在托管服务器上,导航到您必须结帐的文件夹,然后执行:
    $ git clone git@github.com:username/proj.git
    $ cd proj
    $ git checkout vx.x.x

现在,如果您必须为下一个版本创建另一个标记,请说x.x.y,然后重复上面的步骤1,用x.x.y替换x.x.x,并用以下步骤替换步骤2。

  • 步骤2:在托管服务器上执行以下操作。
    $ cd proj
    $ git fetch --tags
    $ git checkout vx.x.y