我一直在开发一个Web应用程序并使用git进行项目。到现在为止,我一直在我的本地机器上运行它。既然我想在托管的Web服务器上查看它,我想创建一个标签。所以使用了git tag -a v0.1 -m 'version0.1'
命令。命令git tag
列出了我刚刚创建的标记。现在问题是我如何在我的网络服务器上签出(签出)这个标签?
我的托管网络服务器了解git命令。我想知道在我的服务器上有这个标记的命令或过程。服务器上不会有任何开发。
答案 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)
我想出了一个简单的方法。无需定义新的遥控器。
$ git tag -a vx.x.x -m "version x.x.x" $ git push --tags
$ 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。
$ cd proj $ git fetch --tags $ git checkout vx.x.y