GIT安装使用及自动更新web文件_华陌飞尘_新浪博客

1、GIT的官方地址下载太慢,自己在csdn放了一个包含 git 及 tortoisegit 及 相关汉化包的文件备用:https://download.csdn.net/download/onebird_lmx/10516818

2、GIT 不能文件太多,我尝试23W的文件加入版本库,每次操作都要等。。等。。 等。。。,后来就放弃了,最终还是仅仅对代码部分进行提交,配套文件就只能忽略了

3、在centos中安装 git服务器:
  • 先 yum 安装 git:yum install git
  • 添加git用户: adduser git 
  • 设置git密码:passwd git
  • 建立git目录及认证文件:
    cd /home/git
    mkdir .ssh
    chmod 700 .ssh
    touch .ssh/authorized_keys
    chmod 600 .ssh/authorized_keys
    cd /home
    chown -R git:git git
  • 在需要连接服务器的人这边获取key:ssh-keygen -t rsa -C "your_email"
    该命令会产生两个文件: id_rsa对应私钥,id_rsa.pub对应公钥。
    将id_rsa.pub中的内容写到服务器的authorized_keys文件中。
    如果有多个客户端,那么在authorized_keys文件中,一行保存一个客户端的公钥
4、在centos中建立仓库:最重要的是修改目录的属组!!
cd /home
mkdir gitrepo
chown git:git gitrepo
 
  
cd gitrepo
git init --bare sample.git
chown -R git:git sample.git
**上面创建目录结构为:/home/gitrepo/sample.git
5、连接git url:如果不是默认的ssh端口(22),需要用ssh连接方式:ssh://git@IP:端口/路径,如 ssh://git@123.123.123.123:1234/home/gitrepo/sample.git

6、git保存的是web文件,要实现一旦git更新就自动更新相应的web目录文件:
在git仓库目录,如 /home/gitrepo,其项目库目录下面,如 /home/gitrepo/sample.git :
cd hooks
vi post-receive
#=======文件内容=======
#!/bin/sh  
   
#author: embbnux  
#Blog of Embbnux: http://www.embbnux.com  
IS_BARE=$(git rev-parse --is-bare-repository) 
if [ -z "$IS_BARE" ]; then 
echo >&2 "fatal: post-receive: IS_NOT_BARE"  
exit 1  
fi  
   
unset GIT_DIR  
DeployPath="/var/www/html/gonghaoxinxi"  
   
echo "==============================================="  
cd $DeployPath  
echo "deploying the test web"  
   
git fetch --all  
git reset --hard origin/master
   
time=`date`  
echo "web server pull at webserver at time: $time."  
echo "================================================"

#=======文件内容结束=======

说明上面:
-- DeployPath 是web文件目录,切记,这个目录必须是从这个git仓库用 git clone 下来的,否则可能出错! 
-- 切记git用户必须有修改web文件目录的权限(要么同一个用户,要么同一个组,确保授权)
-- post-receive必须有运行权限(chmod +x post-receive)

7、如何在非空目录下 git clone 项目
-- 进入非空目录,假设是 /dir/jk1
-- git clone --no-checkout https://git.oschina.net/jankerli/test.git tmp
-- mv tmp/.git .   
-- rmdir tmp
-- git reset --hard HEAD
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值