git简介及前置教程
git简介及前置教程
1.git简单介绍
Git是目前最主流的分布式版本控制系统,是免费开源的项目,核心的版本控制,用于进行多人的代码编辑,是团队开发的必备工具!
git的优点
- git的是开源的,用户社区十分活跃,可以很快的找到教程和解决问题;
- 完整的代码历史管理流程的能力,支持恢复、对比等
- 多人协作开发必备工具,支持多人代码合并、同比
- 分支管理简单,支持高效的创建分支和合并
2.git的基本概念
| 概念名称 | 描述 |
|---|---|
| 工作区(Workspace) | 电脑里的代码库目录,新增、修改的文件会提交到暂存区 |
| 暂存区(stage 或 index) | 用于临时存放文件的修改,实际上上它只是一个文件(.git/index),保存待提交的文件列表信息。 |
| 版本库/仓库(Repository) | Git的管理仓库,管理版本的数据库,记录文件/目录状态的地方,所有内容的修改记录(版本)都在这里。 |
| 服务端/远程仓库(origin 或 remote) | 服务端的版本库,专用的Git服务器,为多人共享提供服务,承担中心服务器的角色。本地版本库通过push指令把代码推送到服务端版本库。 |
| 本地仓库 | 用户机器上直接使用的的的版本库 |
| 分支(Branch) | 分支是从主线分离出去的“副本”,可以独立操作而互不干扰,仓库初始化就有一个默认主分支master。 |
| 头(HEAD) | HEAD类似一个“指针”,指向当前活动 分支 的 最新版本。 |
| 提交(Commit) | 把暂存区的所有变更的内容提交到当前仓库的活动分支。 |
| 推送(Push) | 将本地仓库的版本推送到服务端(远程)仓库,与他人共享。 |
| 拉取(Pull) | 从服务端(远程)仓库获取更新到本地仓库,获取他人共享的更新。 |
| 获取(Fetch) | 从服务端(远程)仓库更新,作用同拉取(Pull),区别是不会自动合并。 |
| 冲突(Conflict) | 多人对同一文件的工作副本进行更改,并将这些更改合并到仓库时就会面临冲突,需要人工合并处理。 |
| 合并(Merge) | 对有冲突的文件进行合并操作,Git会自动合并变更内容,无法自动处理的冲突内容会提示人工处理。 |
| 标签(Tags) | 标签指的是某个分支某个特定时间点的状态,可以理解为提交记录的别名,常用来标记版本。 |
| master(或main) | 仓库的“master”分支,默认的主分支,初始化仓库就有了。Github上创建的仓库默认名字为“main” |
| origin/master | 表示远程仓库(origin)的“master”分支 |
| origin/HEAD | 表示远程仓库(origin)的最新提交的位置,一般情况等于“origin/master” |
git基本流程
- 准备仓库:新建或者从服务端克隆一个仓库
- 编写开发:在工作目录中添加、修改代码
- 暂存(git add):将要进行版本管理的文件放入暂存区域
- 提交(git commit):将暂存区域的文件提交到Git仓库
- 推送(git push):将本地仓库推送到远程仓库,同步版本库,如:github、gitee、gitcode、gitlab等
- 获取更新(fetch/pull):从远程仓库拉取到本地,获取他人推送到仓库的更新,与他人协作、共享
3.git安装和配置
- 前往git官网下载安装包进行安装点击前往Git官网下载页
注:下载后点击进行安装,安装的路径可以改变
安装完成后可使用命令进行安装版本查看
1 | git --version |
- git配置
Git有三个主要的配置文件:仓库/项目配置(–local) > 用户全局配置(–global) > 系统全局配置(–system)
系统全局配置(–system):包含了适用于系统所有用户和所有仓库(项目)的配置信息,存放在Git安装目录下:…Git\etc\gitconfig`。
用户全局配置(–global):当前系统用户的全局配置,存放用户目录:C:\Users\[系统用户名]\.gitconfig。
仓库/项目配置(–local):仓库(项目)的特定配置,存放在项目目录下.git/config
常见使用命令
1 | #查看git的配置 |
仓库的配置是多个配置的集合
1 | $ git config --list |
配置-初始化用户
1 | $ git config --global user.name "你的用户名" |
配置忽略.gitignore
工作目录中的文件并不是全部都需要纳入版本管理中,.gitignore可以实现将不需要管理的文件排除
- 在工作目录下创建.gitignore文件,文件中设置不要进行版本管理的文件
- 注意:.gitignore文件本身是被纳入版本管理的
- .gitignore文件书写规则如下:
- #符号实现行注释
- *符号代表任意各字符
- ?代表一个字符
- [字符…]代表可以从中可选的字符范围
- {字符串1,字符串2,…}代表可选的字符串等
- !代表例外规则,带有!的不会被忽略
- /filesname表示忽略根目录下的文件filesname
- filesname/表示忽略文件夹filesname
1 | #为注释 |
注:在各种语言中常用的.gitignore文件配置点击前往github
4.git的GUI的工具
除了使用命令行工具外,我们还可以额外的安装并使用GUI界面工具,使用起来更加的简单易上手、且更加的直观;
-
:小乌龟,SVN时代就很流行的代码管理GUI利器。
- 🚫只有Windows版本,支持中文,需要单独下载安装中文语言包。
- ✔️开源,免费,与文件管理器的良好集成。
- ✔️内置冲突对比解决工具。
-
:SourceTree是老牌的Git GUI管理工具了,也号称是最好用的Git GUI工具。
- ✔️适用于 Windows 和 Mac 系统,内置中文版,自动识别语言。
- ✔️免费、功能强大,使用简单。
- ✔️功能丰富,基本操作和高级操作都设计得非常流畅,适合初学者上手,支持Git Flow。
- 🚫无冲突对比工具,支持配置第三方组件。
GitHub Desktop:Github官方出品的Git管理工具。
GitKraken:GitKraken是一个跨平台GUI Git客户端,有免费版,专业版和企业版,这些版本启用了不同的功能。
注:本文参考并感谢安木夕
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 flymh🌄!






