centos7 安装git服务器

linux安装git,并配置仓库

1.安装git,查看版本号

  yum install -y git
  git --version

2.创建git用户

   useradd git //创建用户
   password git  //更改密码

3.初始化git仓库,并改变仓库权限

    cd /home/git
    mkdir -p test.git  //创建仓库
    git init --bare test.git  //初始化
    chown -R git:git test.git  //改变权限

4.克隆仓库到本地

  git clone [email protected]:/home/git/test.git

本地git与远程git交互

1.本地初始化git,并上传

  git init //初始化
  git add test.txt  //增加文件到暂存区
  git commit -m '注释'  //提交文件到本地仓库
  git remote rm origin //删除之前的remote
  git remote add origin [email protected]:/home/test.git  //添加远程起源
  git push origin master  //通过origin原点添加master分支到远程git仓库

2.更新

  git pull origin master  //取回origin主机的master分支,与本地当前分支合并

3.常用上传

  git add -A  //将所有的新文件添加到暂存区
  git add test.txt  //增加文件到暂存区
  git commit -m '注释'  //提交文件到本地仓库
  git commit  -a -m '注释'  //将所有的文件提交到本地仓库
  git push origin master  //通过origin原点添加master分支到远程git仓库

4.常用git命令

  git status //查看git状态
  git remote -v //查看所有原点
  git branch //看看分支 
  git chechout aaa //切换分支aaa 
  git branck aaa //创建aaa分支 
  git chechout -b aaa //本地创建 aaa分支,同时切换到aaa分支。只有提交的时候才会在服务端上创建一个分支
  git pull origin master //更新指定分支
  git branch -vv // 查看分支跟踪的远程分支
  git merge master  // 合并主分支
  git stash  // 暂存
 git push origin master --force  //强制上传,将本地代码覆盖掉远程代码

git钩子自动执行更新

1.在初始化git仓库里面找到hooks文件夹,并在里面创建钩子文件

  vim post-receive //用vim创建文件
  chmod 755 post-receive  // 更改执行权限

2.编辑自动执行脚本

 #!/bin/sh
 PATH=/home/fileDir/   //你需要部署的项目路径。注意文件夹的权限问题
 cd $PATH 
 unset $(git rev-parse --local-env-vars)  //git的hooks里面默认有一些环境变量,导致无论在哪个语句之后执行git命令都会有默认环境路径,直接unset掉默认的环境变量就好
 /usr/bin/git pull   //更新项目
 sudo /home/sh/git_hook.sh    //切换到root用户身份执行自己的脚本
 注意:该命令需要在/etc/sudoers 大概91行左右的root ... 下面添加:git   ALL=(ALL)  NOPASSWD:/home/sh/git_hook.sh(添加是需要改变文件的写权限,否则无法添加)

3.服务器克隆本地git仓库代码

 git clone /home/test.git  
 注意不要通过git clone [email protected]/home/test.git导出,会出现git pull需要输入密码导致无法自动化部署。爬了很久的坑

暂时需要使用到的命令就这些。以后遇到了在增加

你可能感兴趣的:(centos7 安装git服务器)