Skip to main content
Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Git 基础教程

下面是一份 超系统的 Git 教程大全,从零基础到高级技巧,覆盖核心概念、工作流、命令、场景实战、最佳实践、故障排查等内容。

目录(可直接点我继续展开)

  1. Git 基础概念
  2. Git 安装与配置
  3. Git 工作区、暂存区、仓库
  4. Git 基本常用命令
  5. Git 分支管理
  6. Git 合并与变基(merge / rebase)
  7. Git 远程仓库(GitLab/Github)
  8. Git 标签(tag)
  9. Git 常用实战场景
  10. Git 高阶内容
  11. Git 最佳实践
  12. Git 排错与修复常见问题
  13. Git 安全与凭据管理

1. Git 基础概念(核心)

什么是 Git?

Git 是一个分布式版本控制系统。

“分布式” 的意义在于:

  • 每个人本地都有一个完整仓库(包括历史记录)
  • 不依赖中心服务器就能提交、查看历史

核心概念三件套

名称 描述
工作区 Working Directory 项目文件所在的普通目录
暂存区 Staging Area 即将提交到本地仓库的文件区域
本地仓库 Repository .git/ 目录,保存历史记录
远程仓库 Remote GitLab/Github 等存放仓库副本的服务器

2. Git 安装与配置

安装 Git

Linux:

sudo apt install git

Mac:

brew install git

Windows:下载 Git for Windows

配置用户信息

git config --global user.name "your name"
git config --global user.email "your@email.com"

查看所有配置:

git config --list

3. 工作区 / 暂存区 / 仓库

最核心流程:

工作区 -> 暂存区 -> 本地仓库 -> 远程仓库

提交时你做的是:

git add     # 放到暂存区
git commit  # 放到本地仓库
git push    # 推到远程仓库

4. Git 基本常用命令(最常用)

查看文件状态

git status

添加到暂存区

git add file
git add .

提交

git commit -m "message"

撤销 add

git reset HEAD file

撤销工作区修改

git checkout -- file

查看历史

git log --oneline --graph --decorate

比较差异

git diff

5. Git 分支管理(核心)

创建与切换

git branch new-feature
git checkout new-feature

快捷:

git checkout -b new-feature

删除分支

git branch -d branchname
git branch -D branchname

6. Git 合并与变基(merge vs rebase)

merge

git merge dev

特点:

  • 保留分叉,记录直观,可追溯

rebase

git rebase main

特点:

  • 让历史更干净

缺点:不要对别人已经基于你的提交 rebase

详细区别:

  • merge 创建一个合并提交
  • rebase 重新播放提交,让历史线性化

7. Git 远程仓库

添加远程

git remote add origin URL

查看远程 URL

git remote -v

推送

git push origin branchname

拉取

git pull origin branchname

8. Git Tag(发布版本常用)

创建 tag

git tag v1.0

带注释:

git tag -a v1.0 -m "release"

推送 tag

git push origin v1.0

推全部 tag

git push origin --tags

9. Git 常用实战场景

修改最新提交 message

git commit --amend

合并多个提交(squash)

git rebase -i HEAD~3

回滚某个 commit

git revert <hash>

强制回退

git reset --hard <hash>
git push -f

查看最近一次修改了哪些文件

git diff-tree --no-commit-id --name-only -r HEAD

10. Git 高阶内容

  • Git hooks(自动化)
  • Git submodule(子模块)
  • Git stash(工作区暂存)
  • Git cherry-pick(挑提交)
  • Git bisect(定位 bug 提交)
  • Git gc / prune(垃圾回收)

11. Git 最佳实践

分支策略

推荐:

  • main/master:主线
  • develop:开发线
  • feature/xxx:功能分支
  • release/xxx:发布分支
  • hotfix/xxx:紧急修复

commit message 规范

feat: 新功能
fix: 修复 bug
docs: 文档修改
refactor: 重构
style: 格式修改
test: 测试相关
chore: 其他

12. Git 常见问题排查

错误 原因 解决
Your branch and ‘origin/x’ have diverged 分叉 git pull –rebase
fatal: refusing to merge unrelated histories 两仓库无共同历史 git pull –allow-unrelated-histories
There is no merge to abort 没有处于 merge 状态 忽略
无法 push 远端有新提交 先 git pull –rebase

13. Git 安全与凭据管理(高级)

  • 使用 Personal Access Token 代替密码
  • 使用 credential.helper
  • 禁止读取 ~/.git-credentials
  • 使用 GIT_ASKPASS
  • CI/CD 中安全推拉代码