一、前言
1. Git简介
Git是一个分布式版本控制工具,主要用于管理开发中的源代码文件(Java类、xml文件、html页面等),通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git仓库
Git作用:
- 代码回溯
- 版本切换
- 多人协作
- 远程备份
2. 下载与安装
下载地址:Git下载地址
下载完成后得到安装文件:
安装完成后在任意目录点击鼠标右键,如果能看到如下菜单则表示安装完成:
- Git GUI Here:打开 Git 图形界面
- Git Bash Here:打开 Git 命令行
二、Git代码托管服务
1. 常用的 Git 代码托管服务
Git中存在两种类型的仓库,即本地仓库
与远程仓库
。常用的Git远程仓库有 GitHub、码云、GitLab等。
2. 使用码云代码托管服务
三、Git常用命令
1. Git全局配置
安装好Git后首先要做的事是设置用户名称与email地址,这是十分重要的,因为每次Git提交都会使用该用户信息。
- 设置用户名
git config --global user.name "你的用户名"
- 设置用户邮箱
git configt --global user.email "你的邮箱"
- 查看配置信息
git config --list
2. 获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库
获取 Git 仓库通常有两种方式:
- 在本地初始化一个 Git 仓库(不常用)
- 从远程仓库克隆(常用)
1. 本地初始化Git仓库
执行步骤如下:
① 在任意目录创建一个空目录作为我们的本地Git仓库
② 进入此目录
③ 执行命令git init
若在目录中看到
.git
文件夹(此文件为隐藏文件夹)则说明 Git 仓库创建成功
① 在任意目录创建一个空目录作为我们的本地Git仓库
mkdir 目录名
② 进入此目录
cd 目录名
③ 执行命令 git init
git init
2. 从远程仓库克隆
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
- 命令形式:
git clone 远程Git仓库地址
码云上的仓库,复制其 url
3. 本地仓库操作
1)版本库、工作区、暂存区
- 版本库:上诉看到的
.git
隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息以及文件版本信息等; - 工作区:包含
.git
文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码; - 暂存区:
.git
文件夹中有很多文件,其中有一个index
文件就会暂存区,也可以叫做 stage。暂存区是一个临时保存
修改文件的地方。
Git工作区的文件存在两种状态:
- untracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制)
① Unmodified 未修改状态
② Modified 已修改状态
③ Staged 已暂存状态
上述文件的状态都会随着执行Git命令而发生变化
本地仓库常用命令如下:
git status
:查看文件状态git add
:将文件的修改加入暂存区git reset
:将暂存区的文件取消暂存或切换到指定版本git commit
:将暂存区的文件修改提交到版本库git log
:查看日志
2)git status
git status
:用于查看文件状态
3)git add
git add
:将文件的修改加入暂存区
4)git reset
git reset
:将暂存区的文件取消暂存或者切换到指定版本
- 取消暂存:
- 切换到指定版本:
其中--hard
后面一串是每个版本的唯一标识,可通过 git log
指令查看
5)git commit
git commit
:将暂存区的文件修改提交到版本库
其中 -m
用于简单描述提交的信息
6)git log
git log
:查看日志
4. 远程仓库操作
上述执行的命令操作都是针对于本地仓库,以下都是操作远程仓库的常用命令:
git remote
:查看远程仓库git remote add
:添加远程仓库git clone
:从远程仓库克隆git pull
:从远程仓库拉取git push
:推送到远程仓库
1)git remote
git remote
:查看远程仓库
2)git remode add
git remote add
:添加远程仓库
添加一个新的远程仓库,同时指定一个可以引用的简写(一般约定为origin
)
git remote add <remote-name> <url>
我们找到一个未关联任何远程仓库的本地仓库(使用 git remote
与 git remote -v
均无输出)
使用git remote add
指令
3)git clone
git clone
:从远程仓库克隆
Git克隆的是Git仓库服务器上几乎所有数据(包括日志信息。历史记录等),而不仅仅是复制工作所需要的文件
git clone <url>
4)git pull
git pull
:从远程仓库拉取
git pull <remote-name> <branch-name>
remote-name
:远程仓库别名
branch-name
:远程仓库要拉取的分支的分支名
注意:
如果当前本地仓库不是从远程克隆而来的仓库,而是本地创建的仓库,并且仓库中存在文件,此时从远程仓库拉取文件时会报错(fatal:refusing to merge unrelated histories)
解决方法:
在git pull 命令后加入参数--allow-unrelated-histories
5)git push
git push
:推送到远程仓库
git push <remote-name> <branch-name>
remote-name
:远程仓库别名
branch-name
:本地仓库要推送的分支的分支名
5. 分支操作
- 分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
- 通过
git init
命令创建本地仓库时默认会创建一个 master 分支。
分支常用命令如下:
git branch
:查看分支git branch <branch-name>
:创建分支git checkout <branch-name>
:切换分支git push <remote-name> <branch-name>
:推送至远程仓库的分支git merge <branch-name>
:合并分支
1)git branch
git branch
:查看分支
git branch
:列出所有本地分支
git branch -r
:列出所有远程分支
git branch -a
:列出所有本地分支与所有远程分支
2)git branch [branch-name]
git branch [branch-name]
:创建分支
branch-name
:要创建的分支的分支名
3)git checkout [branch-name]
git checkout [branch-name]
:切换分支
branch-name
:要切换的分支的分支名
4)git push [remote-name] [branch-name]
4):git push [remote-name] [branch-name]
:推送至远程仓库的分支
git push [remote-name] [branch-name]
remote-name
:远程仓库别名
branch-name
:本地仓库要推送的分支的分支名,推送至远程仓库后,远程仓库的分支名也为branch-name
5)git merge [branch-name]
git merge [branch-name]
:合并分支
branch-name
:要合并的分支的分支名
此处合并,是将branch-name
分支的内容合并到当前所在分支,但当前分支内容不合并到branch-name
分支。
6)git branch -d [branch-name]
git branch -d [branch-name]
:删除本地分支
branch-name
:要删除的本地分支的分支名
当一个分支被推送并合并到远程分支后,-d
才会本地删除该分支。如果一个分支还没有被推送或者合并,那么可以使用-D
强制删除它。
6. 标签操作
- Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
- 比较有代表性的是人们会使用此功能来标记发布点(v1.0,v2.0等)。
下面是 mybatis-plus 的标签:
Git常用标签命令如下:
git tag
:列出已有的标签git tag [tag-name]
:创建标签git push [remote-name] [tag-name]
:将标签推送至远程仓库git checkout -b [branch-name] [tag-name]
:检出标签
1)git tag
git tag
:查看已有的标签
2)git tag [tag-name]
git tag [tag-name]
:创建新的标签
tag-name
:要创建的标签的标签名
3)git push [remote-name] [tag-name]
git push [remote-name] [tag-name]
:将标签推送至远程仓库
remote-name
:远程仓库别名
tag-name
:要推送的标签的标签名
4) git checkout -b [branch-name] [tag-name]
git checkout -b [branch-name] [tag-name]
:新建一个分支来指向某个标签
branch-name
:新建分支的分支名,用于指向某标签
tag-name
:要指向的标签的标签名
四、IDEA集成Git
1. IDEA配置Git
① 打开IDEA的setting
② 点击Version Control,再点击Git,最后设置自己安装Git软件的路径
2. IDEA获取仓库
在IDEA使用Git获取仓库有两种方式:
- 本地初始化仓库
- 从远程克隆仓库
1. 本地初始化仓库
新建工程,点击 VCS 中的 Create Git Repository
2. 远程克隆仓库
点击 Git中的Clone,之后填写远程仓库的url
–
3. IDEA使用Git
1. 本地仓库操作
本地仓库操作:
- 将文件加入暂存区
- 将暂存区的文件提交到版本库
- 查看日志
1)将文件加入暂存区
- 当新建立文件,IDEA会跳出弹窗,询问是否需要加入暂存,可选择 ADD
- 若未选择上述确认键,可右键单击新文件,点击 Git,再点击ADD
2)将暂存区的文件提交到版本库
- 右键单击,选择Git,点击 Commit File
或者直接点击 commit 快捷按钮
3)查看日志
点击 Show History 快捷按钮
2. 远程仓库操作
远程仓库操作:
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
1)查看远程仓库
点击 Git,再点击 Manage Remotes
2)添加远程仓库
在上述查看远程仓库中点击 +
3)推送至远程仓库
4)从远程仓库拉取
3. 分支操作
分支操作:
- 查看分支
- 创建分支
- 切换分支
- 将分支推送到远程仓库
- 合并分支
1)查看分支
点击Git,再点击Branches
2)创建分支
在上述查看分支中中点击 + New Branch
3)切换分支
点击查看分支,点击想要切换的分支,选择Checkout
4)将分支推送到远程仓库
点击查看分支,点击想要推送的分支,选择Push
5)合并分支
点击查看分支,点击想要合并的分支,选择Merge