Git-部署本地代码到远程仓库

这样部署的前提是已经配置好远程服务器 www.xxxx.net 中用户www的免密登录

  1. 本地项目代码准备完毕,代码中无.gitignore文件
  2. 初始化本地仓库,在本地执行

    #初始化仓库
    git init    
    #windows中禁用自动转换
    git config --global core.autocrlf false
    #缓存文件
    git add .
    #提交本地仓库
    git commit -m "init"
    #创建远程连接
    git remote add origin www@www.xxxx.net:/home/www/heal     
    
  3. 初始化远程仓库,在远程执行

    #创建远程仓库目录
    cd /home/www
    mkdir heal
    #进入目录
    cd heal
    #初始化仓库
    git init
    #设置允许修改当前分支
    git config receive.denyCurrentBranch ignore
    #添加钩子自动checkout
    vim .git/hooks/post-receive
    #添加以下代码
        echo "checkout to HEAD"
        git --work-tree=.. checkout -f
    #赋予权限
    chown www:www -R ../heal
    #设置用户www的bash
    usermod -s /bin/bash www
    
  4. 将本地仓库推送到远程,在本地执行

    git push -u origin master
    #此时本地代码与远程仓库代码一致
    
  5. 添加或更新例外文件.gitignore,在远程执行

    vim .gitignore
    git rm -r --cached .
    git add .
    git commit -m 'gitignore update'
    
  6. 本地更新

    #下载更新(在.gitignore中的内容不会下载到本地)
    git pull