【Git】基础知识梳理
Git 基础知识梳理
- 命令学习:Learn Git Branching
- Git 命令大全:Git 大全
- 文档重新排版中,部分内容已删,最新内容可先参考:Github Pages
版本控制
什么是版本控制?
版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。关键时刻,可以回退版本。
除了项目源代码,你可以对任何类型的文件进行版本控制。
为什么需要版本控制?
- 版本控制可以让你将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。
- 你还可以通过提交的历史记录来比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。
三大版本控制系统
1、本地版本控制系统
方便个人管理项目文件。
大多都是采用某种简单的数据库来记录文件的历次更新差异。
2、集中化的版本控制系统
为解决开发者协同合作问题而生。
都有一个单一的集中管理的服务器,可以保存所有文件的修订版本,协同工作的开发者们都可以通过客户端连到这台服务器,取出最新的文件或者提交更新。
有两个问题:
- 单点故障: 中央服务器宕机,则其他人无法使用;如果中心数据库磁盘损坏又没有进行备份,你将丢失所有数据。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。
- **必须联网才能工作:**受网络状况和网络带宽影响。
3、分布式版本控制系统
为解决上面的问题面世,比如:Git
有以下几个优点:
- 这类系统,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地克隆下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个克隆出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
- 可以不用联网工作,因为每个人的电脑上都是完整的版本库。
- 强大的分支管理功能。
在开发中,常用的 git 开发操作流程是怎样的?
在使用 Git 进行开发时,常用的操作流程包括:
-
创建 Git 仓库:使用
git init命令初始化一个新的 Git 仓库。也可以使用git clone命令克隆一个远程仓库到本地。 -
添加文件到暂存区:使用
git add命令将修改的文件添加到 Git 的暂存区中。 -
提交修改:使用
git commit命令提交修改。可以使用-m参数指定提交的注释信息。 -
分支操作:使用
git branch命令创建、删除、查看分支。使用git checkout命令切换分支。 -
合并分支:使用
git merge命令将一个分支合并到当前分支。 -
推送修改:使用
git push命令将本地修改推送到远程仓库。 -
拉取修改:使用
git pull命令从远程仓库拉取最新修改。 -
查看修改历史:使用
git log命令查看提交历史。 -
撤销修改:使用
git reset命令撤销某次提交。可以使用--soft参数保留修改到暂存区,使用--mixed参数保留修改到工作区,使用--hard参数彻底删除修改。 -
标签操作:使用
git tag命令创建、删除、查看标签。标签可以用于标记某个版本,便于后续查找和发布。
Git 快速入门
Git 有哪三种状态?
- 已提交(committed):数据已经安全的保存在本地数据库中。
- 已修改(modified):已修改表示修改了文件,但还没保存到数据库中。
- 已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
Git 关联 idea 文件颜色的意思?
- 红色(red),未加入版本控制
- 绿色(green),已经加入版本控制暂未提交
- 蓝色(blue),加入版本控制,已提交,有改动
- 白色(white),加入版本控制,已提交,无改动
- 灰色(grey):版本控制已忽略文件
Git 项目的三个工作区域
- 工作目录(working)
- 暂存区域(index)
- Git 仓库(HEAD)
working =add=> index =commit=> HEAD =push=> 远程仓库

基本的 Git 工作流程
- 准备仓库:创建或从服务端克隆一个仓库。
- 搬砖:在工作目录中添加、修改代码。
- 暂存(git add):将需要进行版本管理的文件放入暂存区域。
- 提交(git commit):将暂存区域的文件提交到 Git 仓库。
- 获取更新(fetch/pull):从服务端更新到本地,获取他人推送的更新,与他人协作、共享
- 分支合并(git merge)
- 推送(git push):将本地仓库推送到远程仓库,同步版本库。
-
在工作目录中修改文件。 – 即写代码
-
暂存文件,将文件的快照放入暂存区域。 – 即表示已修改,文件变蓝色
-
提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录中。
文件的快照:就是指 文件的数据。是 Git 版本控制的核心。
查看 Git 版本号
指令:git -- version
什么是 Git Flow
Git Flow 是一种基于 Git 版本控制工具的分支管理工作流程,它定义了一套完整的分支模型,包括主分支、开发分支、功能分支、修复分支等,旨在优化团队协作、版本发布和代码质量等方面的工作流程。
学习参考
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐


所有评论(0)