使用现有项目进行Git自动部署

时间:2017-06-17 04:57:40

标签: git deployment server

假设我已经有一台远程服务器。该项目已保存在/var/www/html/project中。它已经有一些文件和文件夹。然后,我想使用git从本地计算机到该服务器进行部署。问题是,我怎样才能做到这一点?

如果我使用git bare --init,它必须是服务器上的空文件/文件夹,对吧?如果在服务器中文件已经存在?谢谢。

1 个答案:

答案 0 :(得分:0)

如果你想推送到GitHub,那么你的服务器Git repo就不必是裸机了 只有当你想要推送到服务器时它才应该是裸露的。

确保首先设置用户名和电子邮件

 git config --global user.name  ausername
 git config --global user.email anEmail@com

您现在可以在服务器上创建(/var/www/html之外,以避免git repo本身由您的Apache Web服务器提供)回购

 cd /a/path
 git init arepo
 cd arepo
 git --work-tree=/var/www/html/project add .
 git commit -m "First project import"

完成后,您可以将该回购克隆为裸仓:

cd /a/path
git clone --bare arepo
# generates a repo.git folder

(注意,我假设你的GitHub仓库是完全空的)

如果您的服务器运行了ssh守护程序,并且您拥有可以访问/a/path/repo.git的用户帐户,则可以在本地执行:

cd /a/local/path
git clone auser@aserver:/a/path/arepo.git
cd arepo

您现在拥有计算机上的本地代码。

更改后,您可以退回。但是,如果您希望更改(推送到服务器裸仓库)以便显示在/var/www/html中,您可能需要post-receive hook