首先,正如我经常被告知的那样,git 不是一个部署框架。也就是说,正如 Paul Gear 所说,最简单的方法是使用遥控器。
首先在要推送的机器上设置遥控器。目标应该是一个裸存储库。
git remote add server1 ssh://username@server1.example.com/home/username/gitrepo
Run Code Online (Sandbox Code Playgroud)
然后在源机器上选择你的分支:
git checkout featurebranch1
Run Code Online (Sandbox Code Playgroud)
最后,将数据推送到您的遥控器:
git push server1 localbranch:destinationbranch
Run Code Online (Sandbox Code Playgroud)
或者您可以将推送设置为上游并推送到上游分支。
git config push.default upstream
Run Code Online (Sandbox Code Playgroud)
正如我之前提到的,远程 git 必须是一个裸仓库才能接受这样的推送。
也许使用裸存储库还不够好。在这种情况下,在接收方,您可能想要在接收数据时做一些事情,比如可能将文件检出到不同的目录(repo 必须保持裸露,记住)。您可以通过在 /path/to/bare/repository/hooks/post-recieve 中创建一个脚本文件来使用 post-receive hook 来做到这一点,如下所示:
#!/bin/sh
GIT_WORK_TREE=/var/www/html git checkout -f
Run Code Online (Sandbox Code Playgroud)
chmod
它可执行。这会将master
分支检出到指定目录中。
归档时间: |
|
查看次数: |
139 次 |
最近记录: |