文章目录
- 0. 前言
- 学习目标
- 参考教程链接
- 1. Git概念
- 1.1 什么是Git
- 1.2 Git 的下载
- 1.3 Git三大区域
- 1.4 远程仓库
- 2. Git的使用
- 2.1 图形化操作
- 2.1.1 IDEA图形化操作
- 2.1.2 GitKraken(可选)
- 2.2 命令行操作
- 2.2.1 Git 配置
- 2.2.2 分支命令
- 2.2.3 拉取与推送
- 3. 总结
0. 前言
学习目标
- 了解 Git 的相关概念
- 下载安装Git、准备远程仓库
- 学习并使用Git进行版本控制测试
参考教程链接
猴子都能懂的GIT入门教程
B站鱼皮导学
优质Git笔记
优质Git博客
1. Git概念
1.1 什么是Git
Git 是一个开源的分布式版本控制系统。
从我们开发者的角度来说,我们可以使用 Git 将项目的代码(一般都会放在远程仓库)克隆到本地,然后创建分支,编写代码,提交代码。从项目管理者/整个团队来说,可以通过Git了解哪位工程师提交了哪段代码,代码之间有什么冲突,然后可以将代码进行合并。
简单来说,我们使用Git,让大家的代码版本保持一致,更方便地解决各自写的代码冲突问题,哪怕出错了,也可以及时回滚到前一个版本,更科学地管理项目。
附一张截取自百度百科的图:
至于另一种常用的版本控制系统SVN,读者可自行百度了解。
1.2 Git 的下载
Git官网
1.3 Git三大区域
Git 在工作时,分为工作区、缓存区、资源区。关于这3个区,此处分享一个总结得十分形象、精辟的连接:优质Git笔记
1.4 远程仓库
目前我们国内的程序员常用的远程仓库:Gitee、GitHub、GitLab、GitCode 等。
注意,远程仓库不等同于Git,Git在我们看来是一个版本控制系统,是一个工具;远程仓库(GitHub等)则是一种云服务仓库,就像是我们租了一块硬盘,放在老远,通过网络连接,大家的代码都存放在这里,通过Git进行版本控制。
下面我们初始化一个远程仓库,供我们学习与练习。此处我以Gitee为例,其它仓库大同小异。
创建仓库
注册仓库略,我们直接创建:
像这样我们填写完一些必要的基础信息后,就创建了远程仓库了。接下来,Gitee会给我们提示简易的命令行入门教程,我们可以选择性地尝试一下(具体命令下文会介绍)
2. Git的使用
2.1 图形化操作
2.1.1 IDEA图形化操作
IDEA作为我们目前使用最多的IDE之一,真的太方便了。以下我们使用IDEA来进行Git入门使用示例:
随便选择一个尚未配置Git信息的工程:
配置本地仓库路径:
然后,进入我们配置的本地路径可见:
配置路径(注意要切换到git本地仓库所在的路径):
配置分支信息:
commit、push测试:
commit 完成后,点击绿色指向右上角的箭头就可以完成push:
合并分支测试:在仓库上pull request,然后参考下图操作即可:
2.1.2 GitKraken(可选)
GitKraken 是我们常用的Git UI,用它也可以进行图形化版本管理,下载与使用教程:
GitKraken简书
2.2 命令行操作
使用命令行操作有个好处,就是能及时地知道自己的分支上传信息。命令行也是我们常用的git使用方式,也是本文的重点。Git命令众多,这里介绍常见的:
2.2.1 Git 配置
git config
# 查看配置列表
git config --list
# 基础配置,配置用户名和邮箱
git config --global user.name "username"
git config --global user.email "email"
# 修改配置
git config --replace-all user.name "value"
# 删除配置
git config --unset
例如,以下截图就是我在配置的时候配置错了最后一行的配置,于是我们可以用删除配置的命令来把它删除
执行
git config --global --unset user.enail
其它配置信息,请读者查阅其它文档
2.2.2 分支命令
# 查看分支
git branch
# 查看远程分支
git branch -v
# 创建分支
git branch [name]
# 切换分支
git checkout [name]
# 创建并切换分支
git checkout -b [name]
# 将当前分支与参数name的分支合并
git merge [name]
# 删除分支
git branch -d [name]
例如:
2.2.3 拉取与推送
# 本地创建初始化
git init
# 本地克隆
git clone [url]
# 查看远程仓库
git remote -v
# 添加至暂存区
git add
# 提交到分支
git commit -m "description"
# 推送push
git push [remoteName] [localBranchName]
# 拉取pull
git pull [remoteName] [localBranchName]
例如:
剩余其它命令,请读者查阅相关文档。
3. 总结
我们平时使用Git进行版本控制,可以使用UI的方式操作(适合快速入门),也可以使用命令行的方式。除了要进行解决冲突、版本回滚等操作,我们平时用得比较多的就是pull、add、commit、push了。