Git 实战笔记
Git 基础概念
工作区域
Git 管理的三个核心区域(.git 文件夹内是暂存区和仓库):
1 | 工作区 ──git add──▶ 暂存区 ──git commit──▶ Git 仓库 |
| 区域 | 说明 |
|---|---|
| 工作区 | 项目文件夹,日常编写代码的地方 |
| 暂存区 | 已完成工作的临时存放区域,等待提交 |
| Git 仓库 | 最终提交的区域,记录所有版本历史 |
文件状态
工作区文件的四种状态:
| 状态 | 说明 | 标识 |
|---|---|---|
| 未跟踪 | 未被 Git 管理 | 红色 ?? |
| 未修改 | 已被管理,无改动 | - |
| 已修改 | 工作区和仓库不一样 | 红色 M,git add 后变绿色 M |
| 已暂存 | 已执行 git add |
绿色 M |
环境配置
基础配置
安装 Git 后,桌面空白处右键打开 Git Bash:
1 | 设置默认主分支为 main(默认是 master) |
SSH 配置
SSH 方式无需每次输入密码,推荐使用。
步骤一:生成密钥
1 | ssh-keygen -t rsa -b 4096 -C "你的邮箱@qq.com" |
步骤二:添加公钥到 GitHub
- 登录 GitHub → 头像 → Settings → SSH and GPG keys → New SSH key
- 粘贴公钥,Title 随意填写
步骤三:验证连接
1 | ssh -T git@github.com |
同时配置 Gitee 和 GitHub
删除 .ssh 目录后重新生成密钥,然后:
将
id_rsa.pub内容分别添加到:验证两个平台:
1
2ssh -T git@gitee.com
ssh -T git@github.com
常用指令
初始化项目
1 | git init # 初始化 Git 仓库 |
文件操作
1 | git status # 查看状态 |
文件删除
1 | git rm 文件名 # 从仓库和工作区同时删除 |
分支管理
1 | git branch # 查看所有分支(* 标记当前分支) |
远程仓库
1 | git remote show origin # 查看远程仓库信息 |
版本回退
1 | git log # 查看提交历史 |
工作流程
日常开发流程
1 | 1. 修改代码后 |
关联已有远程仓库
当远程仓库已有内容(如 README.md)时:
1 | git init |
常见问题
GitHub 443 连接超时
报错:
1 | Failed to connect to github.com port 443 after 21104 ms: Timed out |
原因: 使用了代理,但 Git 未配置代理
解决:
1 | git config --global http.proxy 127.0.0.1:7890 |
SSH 连接 GitHub 报 Connection closed
报错:
1 | Connection closed by 127.0.0.1 port 22 |
原因: 代理封禁了 GitHub 端口 22 的连接
解决:
重新生成 SSH 密钥
1
2git config user.email # 确认邮箱正确
ssh-keygen -t rsa -b 4096 -C "你的邮箱@qq.com"将新公钥添加到 GitHub
在
C:\Users\Administrator\.ssh目录下创建config文件(无后缀),内容:1
2
3Host github.com
Hostname ssh.github.com
Port 443验证连接:
1
ssh -T git@github.com
开发工具推荐
VSCode 插件
- Git Blame - 查看每行代码的最后修改者
- Git History - 查看文件修改历史
- Git Graph - 可视化分支图
IntelliJ IDEA
2023.2.1 版本自带 Git 插件,只需保留 Git 相关插件即可。
⚠️ 注意: 遇到过保留 GitHub 插件导致无法推送的问题
注意事项
- Gitee 使用 - 注意区分主分支名称(master/main)和远程源(origin)
- 远程仓库已有内容 - 使用
--allow-unrelated-histories拉取后再推送 - 删除已追踪文件 - 仅修改
.gitignore不够,需执行git rm --cached移除追踪
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小维的博客园!

