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