git简介
- git:版本控制系统,它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
- git特点:
- 速度快
- 简单的设计
- 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
- 完全分布式
- 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
- 详细参考链接:
https://git-scm.com/book/zh/v2.
一、git使用
获取 Git 仓库通常有两种方式:
- 将尚未进行版本控制的本地目录转换为 Git 仓库。
- 从其它服务器克隆一个已存在的 Git 仓库。比如: git clone
原理介绍
- Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)
- 已修改表示修改了文件,但还没保存到数据库中
- 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中
- 已提交表示数据已经安全地保存在本地数据库中
- 这会让我们的 Git 项目拥有三个阶段:
工作区、暂存区以及 Git 目录
- 图解:
本地目录转换为git仓库并使用
- 初始化本地仓库
- 添加相关更改到暂存区
- 提交更改到本地仓库
安装Git:
yum install -y git
初始化版本库:
mkdir demo
git init
Initialized empty Git repository in /home/git/demo/.git/
ls .git/
branches config description HEAD hooks info objects refs
`注意`:.git目录是git跟踪管理版本库的,里面保存了相关更改信息,不要对这个目录中的内容进行更改
配置git用户信息(在提交更改到版本库中之前需要配置用户信息):
git config --global user.name "xxx"
git config --global user.email xxxx
检查当前文件状态:
git status
git status -s %简化输出
git状态总述:
$ git status -s
M README %已经在版本库中的文件做了更改但未add(添加)
MM Rakefile %文件第二次更改且未添加到暂存区(左边的M表示暂存区的数据没有提交,右边的M表示工作区又修改了同样的文件)
A lib/git.rb %文件创建完后未更改直接添加到暂存区,但未提交
M lib/simplegit.rb %已经在版本库中的文件文件做完更改后添加到暂存区但未提交
?? LICENSE.txt %文件创建完后未添加到暂存区
注意:暂存区也相当于在版本库中
跟踪新文件(将文件添加到暂存区)
$ git add README
查看已暂存和未暂存的修改
$ git diff
提交更新
$ git commit
跳过使用暂存区域
$ git commit -a -m 'added new benchmarks'
移除文件
$ git rm PROJECTS.md
$ git rm --cached README
重命名文件
$ git mv README.md README
其实,运行 git mv 就相当于运行了下面三条命令:
$ mv README.md README
$ git rm README.md
$ git add README
查看提交历史
$ git log
$ git log -p -2
$ git log --stat
$ git log --pretty=oneline
取消暂存的文件
$ git reset HEAD README.md
撤消对文件的修改
$ git checkout -- README.md
版本回退:
$ git reflog
$ git reset --hard efa267a
忽略文件(当需要屏蔽某个目录及文件时,例如开发人员在编译代码时会产生临时文件,这些就需要忽略)
$ cat .gitignore
.* %忽略所有隐藏文件
/test %只忽略当前目录下的test文件
build/ %忽略任何目录下名为 build 的文件夹
- 通过版本回退我们可以恢复某些误删的文件:
- .git目录是git跟踪管理版本库的,里面保存了相关更改信息,如果把这个目录删了将会无法实现版本回退
远程仓库使用
- 通过上述示例我们可以看到,只有本地仓库是不够稳妥的,我们最好能将数据上传到云端进行备份,这样就可以免除后顾之忧了,需要的时候只需要将远程项目克隆到本地即可
- 远程仓库:注册github帐号(或者是码云等国内平台,速度更快),并新建一个仓库:
- 通过ssh方式上传
二、搭建gitlab代码仓库
- 我们可以利用gitlab自己搭建一个类似github那样的代码仓库
1.gitlab安装
官网:https://about.gitlab.com/install/
软件下载(官方下载慢,推荐使用国内镜像站点)
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
软件安装: (官方推荐至少4G内存)
yum install -y curl policycoreutils-python openssh-server
yum install -y gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
external_url 'http://172.25.0.1' %访问gitlab的地址
gitlab-ctl reconfigure %重载服务
登录gitlab:
http://172.25.0.1 %用户:root 第一次登录需要强制修改密码
- 常用命令
- gitlab-ctl start %启动所有 gitlab 组件
- gitlab-ctl stop %停止所有 gitlab 组件
- gitlab-ctl restart %重启所有 gitlab 组件
- gitlab-ctl status %查看服务状态
- gitlab-ctl reconfigure %重载服务
- gitlab-ctl tail % 查看日志
2.gitlab使用