小帽外卖
第八章 Git
一、什么是 Git ?
- Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。
二、Git 能干什么?
三、Git 概述
- Git 简介
- Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git仓库
- commit:提交,将本地文件和版本信息保存到本地仓库
- push:推送,将本地仓库文件和版本信息上传到远程仓库
- pull:拉取,将远程仓库文件和版本信息下载到本地仓库
四、Git 代码托管服务
1. 常用的Git代码托管服务
- Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?
- 我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。
- GitHub,是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub
- 码云,是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
- GitLab,是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
- BitBucket,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
2. 使用码云代码托管服务
- 使用码云的操作流程如下:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 邀请其他用户成为仓库成员
2.1 创建远程仓库
- 创建完成后可以查看仓库信息
- 每个Git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮 ,在弹出窗口点击【复制】按钮获得网络地址
2.2. 邀请其他用户成为仓库成员
- 前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者称为当前仓库的成员。
五、Git 常用命令
1. Git 全局设置
- 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
- 在Git命令行中执行下面命令:
- 设置用户信息
- git config --global user.name “lemon”
- git config --global user.email “lemon@gmail.com”
- 查看配置信息
- 注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
2. 获取 Git 仓库
- 要使用Git对我们的代码进行版本控制,首先需要获得Git仓库
- 获取Git仓库通常有两种方式:
- 在本地初始化一个Git仓库(不常用)
- 从远程仓库克隆(常用)
2.1 在本地初始化 Git 仓库
- 执行步骤如下:
- 在任意目录下创建一个空目录(例如repo1)作为我们的本地 Git 仓库
- 进入这个目录中,点击右键打开 Git bash 窗口
- 执行命令 git init
- 如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
2.2 从远程仓库克隆
- 可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
- 命令形式:git clone【远程Git仓库地址】
3. 工作区、暂存区、版本库 概念
- 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
- 工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
- 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
4. Git 工作区中文件的状态
- Git工作区中的文件存在两种状态:
- untracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
- 这些文件的状态会随着我们执行Git的命令发生变化
5. 本地仓库操作
- 本地仓库常用命令如下:
- git status 查看文件状态
- git add 将文件的修改加入暂存区
- git reset 将暂存区的文件取消暂存或者是切换到指定版本
- git commit 将暂存区的文件修改提交到版本库
- git log 查看日志
6. 远程仓库操作
- git remote 查看远程仓库
- git remote add 添加远程仓库
- git clone 从远程仓库克隆
- git pull 从远程仓库拉取
- git push 推送到远程仓库
6.1 查看远程仓库
- 如果想查看已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出每一个远程服务器的简写。
- 如果已经克隆了远程仓库,那么至少应该能看到 origin,这是 Git 克隆的仓库服务器的默认名字。
6.2 添加远程仓库
- 添加远程仓库,运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写。
6.3 克隆远程仓库到本地
- 如果你想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到 git clone 命令。Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。
- 克隆仓库的命令格式是:git clone [url]
6.4 推送至远程仓库
- 将本地仓库内容推送到远程仓库,可以使用命令:git push[remote-name][branch-name]
- 在使用git push命令将本地文件推送至码云远程仓库时,需要进行身份认证,认证通过才可以推送,如下:
6.5 从远程仓库拉取
- git pull 命令的作用是从远程仓库获取最新版本并合并到本地仓库,命令格式:git pull [short-name][branch name]
- 如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories)
- 解决此问题可以在git pull命令后加入参数 --allow-unrelated-histories
7.分支操作
- 分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
- 同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
- 通过git init命令创建本地仓库时默认会创建一个master分支。
- 相关命令:
- git branch 查看分支
- git branch[name] 创建分支
- git checkout[name] 切换分支
- git push [shortName][name] 推送至远程仓库分支
- git merge [name] 合并分支
7.1 查看分支
- git branch 列出所有本地分支
- git branch -r 列出所有远程分支
- git branch -a 列出所有本地分支和远程分支
7.2 创建分支
- 创建分支命令格式:git branch [name]
7.3 切换分支
- 切换分支命令格式:git checkout [name]
7.4 推送至远程仓库分支
- 推送至远程仓库分支命令格式:git push [shortName] [name]
7.5 合并分支
- 合并分支命令格式:git merge [name]
8. 标签操作
- GIt 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
- 比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。下面是mybatis-plus的标签:
- 相关命令:
- git tag 列出已有的标签
- git tag [name] 创建标签
- git push [shortName][name] 将标签推送至远程仓库
- git checkout -b [branch][name] 检出标签
8.1 列出已有的标签
- 列出已有的标签可以使用命令:git tag
8.2 创建标签
- 创建标签可以使用命令:git tag [name]
8.3 将标签推送至远程仓库
- 将标签推送至远程仓库的命令格式:git push [shortName] [name]
8.4 检出标签
- 检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:git checkout -b [branch] [name]
六、在 IDEA 中使用 Git
1. 在IDEA中配置Git
- 在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要在IDEA中配置Git。
2. 获取Git仓库
- 在IDEA中使用Git获取仓库有两种方式:
- 本地初始化仓库
- 从远程仓库克隆
3. 本地仓库操作
- 将文件加入暂存区(选中文件右键Git -> +Add)
- 将暂存区的文件提交到版本库(选中文件右键Git -> Commit Directory)
- 查看日志
4. 远程仓库操作
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
5. 分支操作
-
查看分支 -
创建分支 -
切换分支 -
将分支推送到远程仓库 -
合并分支
|