我正在学习如何设置新的git repo。我刚刚在已设置的传递中使用了git repos。
目标: 我试图弄清楚设置过程如何运作。我有它所以我的本地可以成功推送到我的远程git仓库。我想要远程git repo'推送'到我的实时网站现在的位置,但只有一个特定的文件夹。这可能吗?
我的git repo文件设置: /.git / trunk(我的站点文件所在的位置,我想将其推送到服务器上的/ pubic_html文件中) / resources(只是psd&s;等等,我不想在服务器上的/ public_html文件中使用它) / db-backups(只是数据库备份,我不想在服务器上的/ public_html文件中使用这些备份)
我会登录我的远程网络服务器,点击~/public_html/
然后运行' get pull'并从我的仓库更新我的所有网站文件/文件夹。 (希望这很有意义)
我目前的设置如下:
我的本地git配置文件:
[remote "origin"]
fetch = +refs/heads/*:ref/remotes/origin/*
url = ssh://mygituser@website.com/~/opt/git/mywebsiterepo.git
我的远程git配置文件:
[remote "origin"]
fetch = +refs/heads/*:ref/remotes/origin/*
位置:~/opt/git/myrepo.git
(我在那里运行git init --bare --shared
)
我的远程网站git配置文件:
[remote "origin"]
fetch = +refs/heads/*:ref/remotes/origin/*
url = ~/opt/git/mywebsiterepo.git
地点:~/public_html
我只是想到一种方法,我需要正确地执行此操作,让我的git /trunk
文件夹成为唯一的内容'在我的{{ 1}}我的实时网站的文件夹。
/public_html
~/public_html
~/git/myrepo/
所以现在我的public_html -> /home/mywebsite/git/myrepo/trunk
文件夹包含我的所有网站文件是我生命中唯一的事情/trunk
:)
答案 0 :(得分:3)
您必须设置一个hook,自动为您拉动:
cd ~/opt/git/myrepo.git/hooks
然后创建一个名为post-receive
的文件,并在其中添加一些文件:
#!/bin/sh
git --work-tree=$HOME/public_html --git-dir=$HOME/opt/git/myrepo.git/ pull
然后chmod +x post-receive
。
如果您想了解更多详情,请发送一篇冗长的文章@ https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps。