git hook 即git鉤子鞠评,同時我們還需要一個裸倉庫,原理就是當(dāng)我們向服務(wù)器的裸倉庫push代碼時,就會觸發(fā)鉤子執(zhí)行已經(jīng)寫好的腳本剪芥。腳本執(zhí)行命令雅宾,將代碼拉到www服務(wù)器的文件目錄绎狭。
// 小技巧,可以在你的host里面綁定你的ip推捐,為你的名字,那么接下來就可以
ssh zhenping@zhenping //鏈接你的服務(wù)器了侧啼。
image.png
首先牛柒,先了解一下centos的文件目錄。cd ~即是用戶目錄痊乾,在/home/username中
image.png
image.png
本次所有操作都在根目錄操作皮壁。
sudo git init --bare gitProject.git //裸倉庫
mkdir www //web文件
cd www
git clone /gitProject.git
//若是不能克隆,就先初始化哪审,然后設(shè)置git 路徑
git init
git remote add origin /gitProject.git
// 設(shè)置git hooks
cd /gitProject.git/hooks/
vim post-receive
//插入一下代碼蛾魄,然后保存退出
#!/bin/sh
unset GIT_DIR
cd /www
git fetch --all
git reset --hard origin/master
// 賦予 post-receive 文件可執(zhí)行權(quán)限
chmod +x post-receive
接下來,在本地新建一個文件夾 /test
git init
git remote add origin username@server_ip:/path/xxx.git
image.png
此時www文件下是空的
image.png
然后我們新建一個txt文件湿滓,內(nèi)容如下
image.png
執(zhí)行g(shù)it命令上傳
image.png
檢查遠(yuǎn)程服務(wù)器/www文件夾
image.png
vim test.txt
查看內(nèi)容
image.png
搞定啦滴须。