一、git工具使用
1、git简介
特点:
速度快
设计简单
对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
完全分布式
有能力高效管理类似Linux内核一样的超大规模项目(速度和数据量)
官方参考学习文件:https://git-scm.com/book/zh/v2
git三种状态: 提交、已修改、已暂存。
已修改表示修改文件,但还没有保存到数据库中。
已暂存表示对一个已修改的文件的当前版本做了标记,使之包含在下次提交的快照中。
已提交表示数据已经安全地保存在本地数据库中。
git项目拥有三个阶段:工作区、暂存区以及git目录
(1)git安装
实验测试:保持实验环境纯净
server2:172.25.1.2
[root@server2 ~]# yum install -y git #安装
获取git仓库的两种方式:
将尚未进行版本控制的本地目录转换为git仓库
从其他服务器上克隆一个已经存在的git仓库
[root@server2 ~]# mkdir demo
[root@server2 demo]# git init #将尚未进行版本控制的本地目录转换为git仓库
Initialized empty Git repository in /root/demo/.git/
[root@server2 demo]# l.
. .. .git #核心目录
[root@server2 demo]# git config --global user.name "wjj" #定义用户及邮件
[root@server2 demo]# git config --global user.email [email protected]
[root@server2 ~]# l.
. .. .bash_history .bash_logout .bash_profile .bashrc .cshrc .gitconfig .mysql_history .pki .ssh .tcshrc .viminfo
[root@server2 ~]# cat .gitconfig #记录
[user]
name = wjj
email = wjj@westos.org
[root@server2 demo]# git status -s #查看状态
?? testfile
[root@server2 demo]# git add testfile
[root@server2 demo]# git status -s #查看变更
A testfile
[root@server2 demo]# git commit -m "add testfile" #添加文件
[root@server2 demo]# git log #查看日志
[root@server2 demo]# cat testfile
www.westos.org
[root@server2 demo]# git status -s
M testfile #在暂存区又修改会出现两个MM
[root@server2 demo]# git add testfile
[root@server2 demo]# git status -s #已提交
M testfile
[root@server2 demo]# git commit -m "update testfile" #更新
(3)操作
1)默认在demo/下的其他目录也能识别
[root@server2 demo]# mkdir dir1
[root@server2 demo]# cd dir1/
[root@server2 dir1]# vim file1
[root@server2 dir1]# cd ..
[root@server2 demo]# git status -s
?? dir1/
[root@server2 demo]# git status -s #忽略量不需要的但是会把自己放进去
?? .gitignore
[root@server2 demo]# vim .gitignore #忽略所有隐藏文件即可
[root@server2 demo]# cat .gitignore
.*
dir1
[root@server2 demo]# git commit -a -m "test"
3)移除
git rm file1
git rm --cached file1
4)重命名文件
git mv 旧名称 新名称
5)查看提交历史
git log
二、gitlab代码仓库
2、git分支
2)、创建密钥
[root@server2 ~]# ssh-keygen
[root@server2 ~]# cd .ssh/
[root@server2 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[root@server2 .ssh]# cat id_rsa.pub
3)、查看并上传公钥
在https://github.com/settings/keys选择Add SSH key,将生成的公钥复制粘贴上传并命名。
4)、上传主机git仓库
[root@server2 demo]# git remote -v
[root@server2 demo]# git remote add origin [email protected]:J-Glorie/demo.git
[root@server2 demo]# git push -u origin master
5)、克隆
[root@server2 demo]#git clone [email protected]:J-Glorie/demo.git
3、搭建私有仓库gitlab
安装地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
yum install -y curl policycoreutils-python openssh-server
rpm -ivh gitlab-ce-13.0.4-ce.0.el7.x86_64.rpm
vim /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure
[root@server5 ~]# git clone [email protected]:root/demo.git
Cloning into 'demo'...
warning: You appear to have cloned an empty repository.
[root@server5 ~]# cd demo/
[root@server5 demo]# ls
[root@server5 demo]# git remote -v
origin git@172.25.1.5:root/demo.git (fetch)
origin git@172.25.1.5:root/demo.git (push)
[root@server5 demo]# git add index.html
[root@server5 demo]# git commit -m "v1"
[root@server5 demo]# git push -u origin master