git编译安装部署及配置管理

1.安装依赖

 [root@linux-node1 ~]# yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

1.1下载git源码包

 [root@linux-node1 ~]# wget https://github.com/git/git/archive/v2.7.4.zip

1.2解压并进行编译

 [root@linux-node1 ~]# unzip v2.7.4.zip
 [root@linux-node1 ~]# cd git-2.7.4/
 [root@linux-node1 ~/git-2.7.4]# make prefix=/usr/local/git all
 [root@linux-node1 ~/git-2.7.4]# make prefix=/usr/local/git install
 [root@linux-node1 ~/git-2.7.4]# rm -rf /usr/bin/git
 [root@linux-node1 ~/git-2.7.4]# ln -s /usr/local/git/bin/git /usr/bin/git
 [root@linux-node1 ~/git-2.7.4]# git --version
git version 2.7.4

1.3设置与配置

##初始化
 [root@linux-node1 ~]# mkdir test
 [root@linux-node1 ~]# cd test/
 [root@linux-node1 ~/test]# git init 
Initialized empty Git repository in /root/test/.git/
 [root@linux-node1 ~/test]# git config --global user.name "xiejincheng"
 [root@linux-node1 ~/test]# git config --global user.email "443060965@qq.com"
##四个区域
工作目录---暂存区域---本地仓库---远程仓库

1.4Gitlab组件

nginx:静态web服务器
gitlab-shell:用于处理Git命令和修改authorized keys列表
gitlab-workhorse:轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:gitlab rails应用是托管在这个服务器上面的

1.5目录

 /var/opt/gitlab/git-data/repositories/:库默认存储目录
/opt/gitlab/:应用代码和相应的依赖程序
/var/opt/gitlab/:gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置
/etc/gitlab/:配置文件目录
/var/log/gitlab/:此目录下存放了gitlab各个组件产生的日志
/var/opt/gitlab/backups/:备份文件生成的目录

1.6备份管理

配置文件中加入
gitlab_rails['backup_path']='/data/backup/gitlab'
gitlab_rails['backup_keep_time']=604800
gitlab-ctl reconfigure ##生效
如果自定义备份目录需要赋予git权限
mkdir /data/backup/gitlab
chown -R git.git /data/backup/gitlab
定时任务Crontab中加入
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:creat

本地保留三到七天 异地保留永久

恢复数据,停止服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

gitlab-rake gitlab:backup:restore BACKUP=1492296289
date -d @1492296289

1.7常用命令

git add            加入暂存(索引区)
git status         查看状态
git status -s      状态概览
git diff           做比对尚未暂存的文件
git diff --staged  暂存区文件
git commit         提交更新
git reset          回滚
git rm             从版本库中移除
git rm --cached README 从暂存区中移除
git mv             相当于mv git rm git add三个命令
0
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论

Hi,请填写昵称和邮箱!

取消评论
代码 贴图 加粗 链接 删除线 签到