#安装依赖 yum update -y yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker wget https://github.com/git/git/archive/v2.7.4.zip unzip v2.7.4.zip cd git-2.7.4 make prefix=/usr/local/git all make prefix=/usr/local/git install rm -rf /usr/bin/git ln -s /usr/local/git/bin/git /usr/bin/git git --version
二、初始化
mkdir testdir cd testdir git init git config --global user.name "qinzc" git config --global user.email git config --list
三、常用命令
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三个命令
四、分支管理
git branch fenzhi-about //创建分支 git checkout fenzhi-about //切换分支 git branch //列出当前所在分支 git branch –v git branch –merged ///查看已mmerged的分支 git branch --no-merged //查看未merged的分支 git branch -d testing //删除分支 git checkout //切换分支 git checkout -- 1.txt //撤销对文件的修改 git merge fenzhi //融合分支 git log //查看最近n次的提交信息 git stash //将当前工作区的修改暂存起来 git tag //打标签 git reset //回滚 --soft 缓存区和工作目录都不会被改变 --mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响 --hard 缓存区和工作目录都同步到你指定的提交
五、远程仓库
git clone https://github.com/guohongze/adminset.git //远程仓库克隆到本地仓库 git pull //通过认证后,更新拉到本地仓库 git fetch //拉到本地仓库,不同步到主分支 git push origin master //推到远程仓库 git remote git remote –v git remote add xxx http://xxx git remote show origin git remote rename pb paul git tag -a v1.0 -m ‘abc’ //加标签
六、gitlab安装管理
#安装依赖 #centos6安装 sudo yum install curl openssh-server openssh-clients postfix cronie sudo service postfix start sudo chkconfig postfix on sudo lokkit -s http -s ssh #centos7安装 sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld rpm -ivh gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm #清华tuna 的源: https://mirrors.tuna.tsinghua.edu.cn/help/gitlab-ce/ #修改配置文件 vim vim /etc/gitlab/gitlab.rb external_url 'http://192.168.1.10' #初始化 gitlab-ctl reconfigure gitlab-ctl status #常用命令 gitlab-ctl status gitlab-ctl start gitlab-ctl stop gitlab-ctl restart gitlab-ctl tail nginx //查看日志 nginx /var/log/gitlab ssh-keygen //生成密钥 #常用目录 /var/opt/gitlab/git-data/repositories/root: // 库默认存储目录 /opt/gitlab: //应用代码和相应的依赖程序 /var/opt/gitlab:gitlab-ctl reconfigure //命令编译后的应用数据和配置文件,不需要人为修改配置 /etc/gitlab: //配置文件目录 /var/log/gitlab: //此目录下存放了gitlab各个组件产生的日志 /var/opt/gitlab/backups/: //备份文件生成的目录 #变更配置文件需要以下操作 1、gitlab-ctl reconfigure //重置配置文件 2、gitlab-ctl show-config //验证配置文件 3、gitlab-ctl restart //重启gitlab服务 #备份管理 #配置文件中加入 gitlab_rails['backup_path'] = '/data/backup/gitlab' gitlab_rails['backup_keep_time'] = 604800 #如果自定义备份目录需要赋予git权限 mkdir /data/backup/gitlab chown -R git.git /data/backup/gitlab #定时任务Crontab中加入 0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create 策略建议:本地保留三到七天,在异地备份永久保存 #恢复 停止数据写入服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-rake gitlab:backup:restore BACKUP=1492296095 date -d @1492296095 #邮件配置 gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'guohongze@126.com' gitlab_rails['gitlab_email_display_name'] = 'gitlab' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.126.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "guohongze" gitlab_rails['smtp_password'] = "your_password" gitlab_rails['smtp_domain'] = "126.com" gitlab_rails['smtp_authentication'] = "login"
#gitlab组件 nginx:静态Web服务器 gitlab-shell:用于处理Git命令和修改authorized keys列表 gitlab-workhorse:轻量级的反向代理服务器 logrotate:日志文件管理工具 postgresql:数据库 redis:缓存数据库 sidekiq:用于在后台执行队列任务(异步执行) unicorn:GitLab Rails应用是托管在这个服务器上面的。
参考:https://xuanwo.org/2016/04/13/gitlab-install-intro/
停留在世界边缘,与之惜别