git工具
Git特点:
• 速度
• 简单的设计
• 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
• 完全分布式
• 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
• 自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的
目标。 它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
• Git必看秘籍:https://git-scm.com/book/zh/v2
Git 工作区、暂存区和版本库概念
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
git安装
yum install -y git
初次运行 Git 前的配置
mkdir demo #创建一个目录
cd demo
git init #在目录中创建新的 Git 仓库
设置你的用户名和邮件地址
git config --global user.name 808bass
git config --global user.email 808bass@example.com
Git 基础
跟踪新文件
git add README
此时再运行 git status 命令,会看到 README 文件已被跟踪,并处于暂存状态
git status
只要在 Changes to be committed 这行下面的,就说明是已暂存状态。
状态简览
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 输出中有两栏,左栏指明了暂存区的状态,右栏指明了工作区的状态。例如,上面的状态报告显示: README 文件在工作区已修改但尚未暂存,而 lib/simplegit.rb 文件已修改且已暂存。 Rakefile 文件已修,暂存后又作了修改,因此该文件的修改中既有已暂存的部分,又有未暂存的部分。
运行提交命令
git commit
commit 命令后添加 -m 选项,将提交信息与命令放在同一行,就会将RENAME放入版本库
git commit -m "RENAME"
移除版本库文件
git rm --cached RENAME
查看提交历史
git log
代码仓库
Github(公共)
首先注册一个Github的账号
加入ssh的认证
新建一个repository
然后跟着文档,就可以上传了
git remote -v
显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
Gitlab(私有)
实验准备:一台4G内存的纯净虚拟机
安装Gitlab
先从镜像站下载安装包
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
安装gitlab,但是发现缺少依赖性,这个所需要的依赖性直接可以从rhel7.6的镜像源中下载,安装完依赖性后,再次安装gitlab
进入gitlab的配置文件
vim /etc/gitlab/gitlab.rb
将external_url 'http://172.25.21.1'
修改成自己的ip重载服务
出现这个即代表重载成功,会帮你生成一个默认的登陆密码,保存在
/etc/gitlab/initial_root_password
查看默认密码
cat /etc/gitlab/initial_root_password
在真实主机的浏览器打开172.25.21.1
,默认用户root.密码为上面默认帮你保存的密码进入gitlab后,及时修改掉默认密码
Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份
ssh-keygen
查看生成的公钥
cat ~/.ssh/id_rsa.pub
在Gitlab加入ssh密钥
加入完ssh密钥后,创建空白项目名字设定为demo,然后设置可见性级别等
此时会自动帮你在这个项目生成README.md文件,可以通过ssh克隆来拉取
克隆
通过ssh克隆,可以发现帮你在/root生成了一个demo目录,进入目录,拉取了README.md
上传
Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上-a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤
首先在demo目录中创建了一个index.html文件,提交到版本库,然后push上传到gitlab
git commit -a -m "add index.html"
git push -u origin main #因为我们创建空白项目时,gitlab创建的分支为main
进浏览器查看,可以看到index.html已经在demo项目里