目标
- 了解 Git 的基本概念
- 能够概述 Git 工作流程
- 能够使用 Git 常用命令
- 熟悉 Git 代码托管服务
- 能够使用 IDEA 操作 Git
概述
应用场景
- 备份
- 代码还原
- 协同开发
- 追溯问题代码的编写人和编写时间
版本控制器的方式
集中式版本控制工具
集中式版本控制工具,版本库是集中存放在中央服务器的。团队里每个人工作时从中央服务器下载代码,必须联网才能工作(局域网或互联网)。个人修改后提交到中央版本库。 举例:SVN 和 CVS,这两个工具现都被淘汰。
Git 版本控制系统的基本概念、安装配置及常用命令。内容涵盖分布式与集中式版本控制的区别、Git 工作流程图、环境搭建与配置、基础操作指令(add、commit、log、reset)、.gitignore 使用以及分支管理(创建、切换、合并、冲突解决)。旨在帮助初学者掌握 Git 核心操作与团队协作流程。
集中式版本控制工具,版本库是集中存放在中央服务器的。团队里每个人工作时从中央服务器下载代码,必须联网才能工作(局域网或互联网)。个人修改后提交到中央版本库。 举例:SVN 和 CVS,这两个工具现都被淘汰。
分布式版本控制系统没有'中央服务器',每个人的电脑上都是一个完整的版本库。这样工作的时候,无需联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。 举例:Git
其一大特色是支持多条线路并行开发,且每个人都是一个完整的代码库(意思就是不需要依靠别的服务器,存储在本地电脑上,共享代码库可有可无,只是方便开发人员的代码交换,如果没有共享代码库,开发人员可通过推送代码实现),非常强大与安全。

Git GUI:Git 提供的图形界面工具 Git Bash:Git 提供的命令行工具
安装 Git 后首先要做的事情是设置用户名称和 email 地址。这是非常重要的,因为每次 Git 提交都会使用该用户信息,Git 版本控制要记录哪个人什么时候做了什么事情,Git 就是通过邮箱去辨识是哪个人的。
git config --global user.name "itcast"
git config --global user.email "[email protected]"
名字以及邮箱写成自己的,邮箱可以虚拟。
git config --global user.name
git config --global user.email
git config --global core.quotepath false
${git_home}/etc/bash.bashrc 文件最后加入下面两行:export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
记得 Ctrl+S 保存配置。
有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。
.bashrc 文件。
部分 Windows 系统不允许用户创建点号开头的文件,可以打开 GitBash,执行 touch ~/.bashrc。.bashrc 文件中输入如下内容:#用于输出 git 提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
#用于输出当前目录所有文件及基本信息
alias ll='ls -al'
source ~/.bashrc。git init。.git 目录。
通过 ls -al 指令可以查到隐藏目录,因为是隐藏的吗,所以文件夹中可能看不到。
工作区,就是平时存放项目代码的地方。
本章节主要讲解如何使用命令来控制这些状态之间的转换:
git add (工作区 --> 暂存区) git add . 添加所有文件、文件夹和子文件夹,包括 .gitignore 和以点开头的任何其他内容;git commit (暂存区 --> 本地仓库)作用:查看的修改的状态(暂存区、工作区)。 新创建的文件是未跟踪状态。 即将被提交的意思。 提交完后显示缓冲区没有东西可以提交了。
作用:添加工作区一个或多个文件的修改到暂存区。
形式:git add 单个文件名
特殊:git add . 添加所有文件到暂存区。
作用:提交暂存区汇总所有内容到本地仓库的当前分支。
形式:git commit -m '注释内容'
提交时候添加的备注会被放到日志中。
提交完后显示缓冲区没有东西可以提交了。
作用:查看提交记录。
命令形式:git log [option]
#用于输出 git 提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
我们只要使用 git log 命令就好了,简单命令为 git log。
提交时候添加的备注会被放到日志中。
即撤回到之前的某个操作版本。
git reset --hard commitID
如何查看已经删除的记录?git refloggit reset --hard commitID 还原。
所以 git reset --hard commitID 既可以做版本回退,也可以做版本还原。一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
这样后缀为 .a 的文件就不会被加到缓冲区中,这样 git 就不会去处理这些文件了。
一般 .gitignore 文件公司会给。
Git 分支本质上是一个指向某次提交(commit)的引用(reference)。 即可以理解为一个指针,指向了某一个工作区。
git branch
*号表示所在的分支。git branch 分支名
创建的新分支会建立在当前分支的版本之上,所以新建的分支会有当前分支的内容。git checkout 分支名
我们还可以直接切换到一个不存在的分支(创建并切换)。git checkout -b 分支名git merge 分支名称
默认将其他分支合并到 master 中。当我们合并分支后,两个或者多个分支对同一个文件的同一个地方进行修改的时候,此时 git 就不知道要取哪个分支修改的值,此时就产生了冲突。 冲突的报错。 此时的文件样子。 解决方法: 我们直接手动删除我们不需要的地方,然后 add,commit 到工作区即可。

形式:git branch -d <分支名>
强制删除:git branch -D <分支名>
两种删除的区别
| 选项 | 全称 | 行为 | 安全性 | 适用场景 |
|---|---|---|---|---|
-d | --delete | 仅当目标分支已被合并时才删除 | ✅ 安全 | 日常清理已合并的功能分支 |
-D | --delete --force | 无条件删除,即使有未合并的提交 | ⚠️ 危险 | 确认要丢弃实验性/错误分支 |

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online