centos7|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 git@119.10.15.56:/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 git@119.106.185.58:/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 ... 下面添加:gitALL=(ALL)NOPASSWD:/home/sh/git_hook.sh(添加是需要改变文件的写权限,否则无法添加)

3.服务器克隆本地git仓库代码
git clone /home/test.git 注意不要通过git clone git@127.0.0.1/home/test.git导出,会出现git pull需要输入密码导致无法自动化部署。爬了很久的坑

【centos7|centos7 安装git服务器】暂时需要使用到的命令就这些。以后遇到了在增加

    推荐阅读