1.Git概述
1.什么是Git
git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(java类,xml文件,html页面等),在软件开发中被广泛使用。通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库。
- 远程仓库:远程服务器上的Git仓库。
2.Git可以干什么
- 代码回溯:快速回到某一个历史版本。
- 版本切换:同一个项目可以有多个版本。
- 多人协作
- 远程备份
3.Git下载与安装
-
下载地址:https://git-scm.com/download
-
下载后得到安装文件
-
安装完成后在任意目录点击鼠标右键,如果能看到Git GUI Here/Git Bash Here菜单则表示安装完成。
Git GUI Here:打开Git图形界面
Git Bash Here:打开Git命令行
2.Git代码托管服务
1.常用的Git代码托管服务
git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?
我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有github,码云,Gitlab等
- gitHub,是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub
- 码云,是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
- GitLab,是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
- BitBucket,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费和账户。
Mercurial 是一个分布式版本控制系统,最初由 Matt Mackall 于2005年开发,设计目标是为了高效和可靠地处理从小型到非常大型的项目。Mercurial 与 Git 类似,它们都是在分布式版本控制系统领域中广泛使用的工具,允许多个开发者在各自的本地仓库中工作,并能够合并其他开发者提交的更改。
2.使用码云代码托管服务
使用码云的操作流程:
- 注册码云账号
- 登录码云
- 创建远程仓库
- 邀请其他用户成为仓库成员
每个git远程仓库都会对应一个网络地址,点击【克隆/下载】按钮,在弹出窗口点击【复制】按钮获得网络地址。
3.Git常用命令
1.Git全局设置
当安装Git后首先要做的事情就是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
在Git中执行以下命令:
-
设置用户信息
git config --global user.name "itcast" git config --global user.email "hello@itcast.cn"
-
查看配置信息
git config --list
上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
2.获取git仓库
要使用git对我们的代码进行版本控制,首先需要获得Git仓库。
获取Git仓库通常有两种方式:
- 在本地初始化一个Git仓库(不常用)
- 从远程仓库克隆(常用)
1.在本地初始化仓库
执行步骤如下:
- 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令git init
如果在当前项目中看到.git文件夹(此文件夹为隐藏文件夹),则说明Git仓库创建成功
如果第一次创建后看不到这个文件夹,可以通过路径直接进入.git文件夹,然后将.git文件夹设置为取消隐藏就可以看到了。
2.从远程仓库克隆
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式:git clone 【远程Git仓库地址】
3.工作区、暂存区、版本库概念
版本库:前面看到的.git隐藏文件就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。
4.Git工作区中文件的状态
GIt工作区中的文件存在两种状态:
- ubtracked 未跟踪(未被纳入版本控制)
- tracked 已跟踪(被纳入版本控制)
- Unmodified 未修改状态
- Modified 已修改状态
- Staged 已暂存状态
文件的状态会随着我们执行Git的命令发生变化
5.操作命令
1.本地仓库常用命令
- git status 查看文件状态
- git add 将文件的修改加入暂存区
- git reset 将暂存区的文件取消暂存或者是切换到指定版本
- git commit 将暂存区的文件修改提交到版本库
- git log 查看日志
2.远程仓库常用命令
- git remote 查看远程仓库
- git remote add 添加远程仓库
- git clone 从远程仓库克隆
- git pull 从远程仓库拉取最新版本合并到本地仓库
- git push 推送到远程仓库
在使用git push 命令将本地文件推送至码云远程仓库时,需要进行身份认证,认证通过才可以推送。
如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库中拉取文件的时候会报错,解决此问题可以在git pull命令后加入参数–allow-unrelated-histories
3.分支操作
分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init命令创建本地仓库时默认会创建一个master分支。
分支常用命令:
- git branch 查看分支
- git branch 列出所有本地分支
- git branch -r 列出所有远程分支
- git branch -a 列出所有本地分支和远程分支
- git branch[name] 创建分支
- git checkout [name] 切换分支
- git push [shortname] [name] 推送至远程仓库分支
- git merge[name] 合并分支
合并分支
- 合并分支命令格式:git merge [name]
4.标签操作
Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点。
和标签相关的命令:
- git tag 列出已有的标签
- git tag[name] 创建标签
- git push [shortname] [name] 将标签推送至远程仓库
- git checkout -b [branch] [name] 检出标签
检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:git checkout -b [branch] [name]
4.在idea中使用git
在idea中使用git,本质上还是使用的本地安装的git软件,所以需要在idea中配置git
1.在idea中配置git
-
打开设置
2.获取git仓库
在idea中使用git获取仓库有两种方式:
- 本地初始化仓库
- 从远程仓库克隆
选中想要创建git的项目目录点击OK即可。
在文件还没暂存或提交时文件会变红,不是报错信息
输入链接即可
3.本地仓库操作
- 将文件加入暂存区
- 将暂存区的文件提交到版本库
- 查看日志
4.远程仓库操作
- 查看远程仓库
- 添加远程仓库
- 推送至远程仓库
- 从远程仓库拉取
5.分支操作
- 查看分支
- 创建分支
- 切换分支
- 将分支推送到远程仓库
- 合并分支