我想上传(仅使用ftp)我的服务器只有更改。我在我的本地有一个工作的git存储库。但我无法弄清楚使用ftp的任何方式。
我可以使用git push发送其他主机,因为它允许ssh,但这个主机只允许ftp。
答案 0 :(得分:9)
git-ftp脚本正是这样做的:
RenéMoser的git-ftp是一个简单的shell脚本,用于以Git方式进行FTP。使用git-ftp.sh仅将Git跟踪的文件上传到FTP服务器,该服务器自上次上载以来已更改。这节省了时间和带宽。即使您使用不同的分支,git-ftp.sh也知道哪些文件不同。普通的FTP客户端无法做到这一点。
答案 1 :(得分:6)
您应该能够使用
推送到FTP存储库git push ftp://host.net/path/to/repo.git/
答案 2 :(得分:3)
我写了一个与之相关的PHP脚本。它称为PHPloy,并与Git紧密耦合,以确定哪些文件被编辑/添加/删除,并相应地上传它们。您将FTP详细信息放在deploy.ini文件中,并仅运行部署命令:
phploy
您还可以一次部署到多个服务器。如果您配置了多个服务器,则可以选择部署到其中一个服务器,如下所示:
phploy --server staging
还有更多可以做的事情 - 请在Github上查看:https://github.com/banago/PHPloy
答案 3 :(得分:0)
您可以查看roll-out。推出具有以下功能。
它将代码的更改下载到单独的文件夹中,直到完成所有文件的下载。
releases\v1\
releases\v2\
releases\v3\
current -> release\v3\
下载完所有文件后。它使该文件夹成为您网站的有效版本。所以它对用户非常透明,没有人知道任何新的版本/版本。
它检查托管服务器上的PHP版本是否符合您的要求。这非常重要,因为托管服务器在他们的服务器上更新PHP版本时不会通知您。您可能忘记让您的开发机器与php版本相匹配。
每个版本的PHP都包含新功能,并且会弃用许多特性和功能。当您使用PHP 5.3开发网站时,您的托管服务器具有PHP 5.6。 following features可能会破坏的可能性。
以下是在下面提到的版本中折旧的功能/功能列表。
rollout分析代码并选出PHP代码库使用的所有扩展,并检查服务器上是否存在所有这些扩展。 如果它们不存在,则推出将提醒您安装扩展程序。 通过检查这些,您可以避免破坏代码的风险,因为不存在特定的扩展,最终您倾向于避免花费数小时调试来分析托管服务器中出现的问题。
只需添加composer.json
rollout即可自动安装composer.json
rollout执行整个代码库的自动PHP Linting查找任何错误。如果rollout发现任何php语法错误,它将停止安装。这再次有助于破坏托管服务器上的代码。
在托管服务器上部署代码之后。如果出现任何问题,您可以轻松恢复到以前的版本。只需点击一下按钮即可。
对于开源项目或公共存储库,此处完全免费。