Git¶
Git 简介¶
什么是Git?¶
- 分布式版本控制系统(DVCS,Distributed Version Control System)
- 分布式:无需联网,在自己的机器上即可使用
- 版本控制:记录、管理、回溯文件修改历史
- 官网: https://git-scm.com/
Git 模型¶

Git 基础配置¶
-
创建本地 git 版本库
git init创建.git文件夹,让 当前文件夹 变成git仓库git init folder创建一个新的文件夹 并初始化为git仓库
-
git账号配置
多人合作时可以区分用户 + 便于 Github 识别
- 全局配置
git config --global user.name "<your name>"git config --global user.email "<your email>"
- 针对某一版本库专门设置 (不加
--global即可)git config user.name "<your name>"git config user.email "<your email>"
- 全局配置
git config --list验证配置是否成功
Git 基础用法¶

文件暂存¶
- 暂存区:已经修改、等待后续提交的文件
- git 指令
-
将文件加入暂存区
-
git add file/folder把单个文件加入暂存区 -
git add .把所有文件加入暂存区
只会添加修改过的文件
-
-
删除文件
-
文件三种类别
- Untracked 未跟踪
- Tracked 已追踪
- Ignored 被忽略
关于 .gitignore
-
存放在版本库根目录下,规定git忽略哪些文件
提交前先配置好 .gitignore,避免提交无用文件
语法
#注释
*通配多个字符 → *.c 匹配所有.c文件
**通配中间目录(有或无) → a/**/b 匹配 a/b、a/x/b、a/x/y/b 等
/开头只匹配根目录,否则匹配所有目录!取消忽略- /(路径定位符)
- 在末尾(例如 dist/):只忽略文件夹 只匹配名叫 dist 的目录及其里面的所有内容
- 在开头(例如 /node_modules):仅限当前目录 只忽略与 .gitignore 文件同级目录下的 node_modules
- 没有斜杠(例如 node_modules):全局匹配 Git 会在这个项目的任何层级寻找名字叫node_modules 的文件或文件夹并忽略掉
-
*(通配符)
*.log:忽略所有以 .log 结尾的文件(例如 error.log、debug.log)temp-*:忽略所有以 temp- 开头的文件或文件夹(例如 temp-1、temp-data)**:匹配任意级别的目录。例如 logs//*.log 意思是忽略 logs 文件夹下所有的 .log 文件 -
!(豁免权 / 反转规则) 配合使用:
- /(路径定位符)
-
查看某个文件是否被忽略,以及其匹配规则
git check-ignore -v <file> - 常用语言的
.gitignore模板:github/gitignore
提交更改¶

-
将暂存内容提交到本地仓库,生成一个新节点
-
查看提交历史
-
每个提交都有一个唯一的 sha-1 标识符(40 位十六进制数)
关于 commit message
- 记录更改的原因 / 内容,方便定位 / 回溯(特别是合作项目)
关于 版本
detached HEAD 问题
分支相关¶
- 创建分支
- 查看分支
- 切换分支
- 内容比较
合并相关¶
git merge
修改历史¶
为git配置代理¶
wsl网络问题解决¶
- .wslconfig
- 为 Git 配置代理