創(chuàng)建自己的倉庫
cd /var
mkdir git && cd git
mkdir your_site.git && cd your_site.git
git init --bare
--bare的意思是妻柒,該文件夾是我們的代碼倉庫,它將不會放源代碼而只是做版本控制绑警。
Hook鉤子
我們將會使用post-receive鉤子计盒,更多鉤子及含義可以參考git文檔 在your_site.git文件夾中
ls
你可以看到有hooks文件夾已經(jīng)為我們創(chuàng)建好了,而且里面也有各種鉤子的樣例
cd hooks
創(chuàng)建我們自己的post-receive
vim post-receive
按回車后提示我們繼續(xù)輸入,接下來輸入的動向都會被放入post-receive文件中章郁。
#!/bin/sh
git --work-tree=生產(chǎn)環(huán)境網(wǎng)站文件夾位置 --git-dir=/var/git/your_site.git checkout -f
輸入完成后按ctrl + D
保存,git-dir
指的是倉庫的址聊替, work-tree
則是存放代碼的位置,也就是我們的網(wǎng)站的源代碼的位置惹悄。 接下來則是要保證它可以運(yùn)行:
chmod +x post-receive
本地
一般情況是你已經(jīng)有了自己的git項(xiàng)目了,那么只需要添加vps的倉庫地址就行了
git remote add myVPS-sitename ssh://user@mydomain.com/var/git/your_site.git
'myVPS-sitename'只是這個遠(yuǎn)程連接的名稱暂殖,你可以同時有多個遠(yuǎn)程連接,每次push的時候指定名稱即可將代碼上傳到不同的倉庫踩窖。
如果你本地還沒有項(xiàng)目代碼:
cd 項(xiàng)目地址
git init
添加一個README.ME文件后
git add .
git commit -m "項(xiàng)目初始"
接下來我們便可以將代碼push到vps了:
git push myVPS-sitename master
master
指定的是master分支晨横,如果你有其他分支也可以push其他分支。