假设我已经有一台远程服务器。该项目已保存在/var/www/html/project
中。它已经有一些文件和文件夹。然后,我想使用git从本地计算机到该服务器进行部署。问题是,我怎样才能做到这一点?
如果我使用git bare --init
,它必须是服务器上的空文件/文件夹,对吧?如果在服务器中文件已经存在?谢谢。
答案 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。