ZiMingの宝藏之地
首页项目归档笔记照片墙音乐灵境说说杂谈友链关于
知识库
138 篇文档 / 65 个目录
目录菜单
主页知识库
飞书飞书知识库/Git 和 github/Git 和 GitHub 核心概念串讲笔记

Git 和 GitHub 核心概念串讲笔记

同步时间:2026-05-28T14:46:06

Git + GitHub 核心概念串讲笔记

来源:抖音视频《Git+Github核心概念串讲从零到一攻略,AI...》,作者:技术爬爬虾

www.bilibili.com

原链接:https://v.douyin.com/GAJ-Uf73Zqc/

说明:抖音页面可解析到视频 ID 7641177391708015907,公开网页未能直接获取完整逐字稿;以下内容按视频主题整理为结构化图文学习笔记,适合从零复习 Git 与 GitHub 的核心概念和实操路径。

脑图

一句话总结

图片

Git 解决的是“本地代码版本管理”的问题,GitHub 解决的是“远程托管与多人协作”的问题。学会 Git,不是背命令,而是理解代码从工作区到暂存区、再到本地仓库、最后同步到远程仓库的流动路径。

图片

flowchart LR
  A[工作区 Working Tree] -->|git add| B[暂存区 Staging Area]
  B -->|git commit| C[本地仓库 Local Repository]
  C -->|git push| D[远程仓库 GitHub Repository]
  D -->|git pull / fetch| C
  C -->|checkout / restore| A

Git 分区

图片

图片

git本地仓库和远端仓库绑定的两种方法

图片

Github 多人协作

1.复刻申请提交 pull

图片

图片

2.协作者身份

图片

图片

3.拣选提交 -cherry pick

将两个需要提交的分支的id 蔬菜清单id 和 主食清单id 提交给AI 让其帮忙合并

图片

4.临时存储 - stash (pop stash)

如果在分支开发的时候突然主分支需要修改,分支开发到一半的代码需要先临时存储 stash

图片

再切换到主分支开发

开发完主分支后

切回原来的分支时候需要pop stash

图片

5.变基 (rebase)-也就是更改地基 (只适合一个人使用的分支,不适合多人协作)

图片

图片

图片

图片

图片

Git 和 GitHub 的关系

概念

解决的问题

常见操作

类比

Git

管理代码历史、版本回退、分支开发

init、add、commit、branch、merge

本地时间机器

GitHub

托管远程仓库、协作、代码评审、开源分发

push、pull、PR、Issue、Action

代码云盘 + 协作平台

不要把 GitHub 理解成 Git 本身。Git 可以完全离线使用;GitHub 是一个承载 Git 仓库的远程平台。

核心心智模型

图片

flowchart TD
  Start[开始一个项目] --> Init[git init / git clone]
  Init --> Edit[编辑文件]
  Edit --> Status[git status 查看变化]
  Status --> Add[git add 选择要提交的变化]
  Add --> Commit[git commit 形成版本快照]
  Commit --> Branch{是否需要并行开发?}
  Branch -->|是| NewBranch[git switch -c feature/x]
  Branch -->|否| Push[git push 同步远程]
  NewBranch --> Edit
  Push --> PR[Pull Request / 合并]
  PR --> Main[main 分支保持稳定]

学习 Git 时,优先记住三个层次:

  1. 文件在哪里改:工作区。

  2. 哪些改动准备提交:暂存区。

  3. 哪些改动已经形成历史:本地仓库。

从零到一操作攻略

1. 创建仓库

本地新项目:

git init
git status

已有远程项目:

git clone <repo-url>
cd <repo-name>

2. 提交第一版代码

git add .
git commit -m "Initial commit"

关键理解:

  • git add 不是“添加文件到 Git”,而是“把当前改动放进暂存区”。

  • git commit 是给暂存区里的改动拍一张版本快照。

3. 连接 GitHub 远程仓库

git remote add origin <github-repo-url>
git branch -M main
git push -u origin main

其中:

  • origin 是远程仓库的默认别名。

  • main 是当前主分支。

  • -u 会建立本地分支和远程分支的追踪关系,后续可直接 git push。

分支与协作

分支是 Git 最重要的协作能力。你可以把 main 看作稳定主线,把功能开发放到独立分支。

图片

gitGraph
  commit id: "main: init"
  branch feature-login
  checkout feature-login
  commit id: "login ui"
  commit id: "login api"
  checkout main
  commit id: "hotfix"
  merge feature-login

常用命令:

git branch
git switch -c feature/login
git switch main
git merge feature/login

推荐工作流:

  1. 从 main 拉最新代码。

  2. 新建功能分支。

  3. 在功能分支上提交小步改动。

  4. 推送分支到 GitHub。

  5. 发起 Pull Request。

  6. Review 后合并回 main。

常见命令速查

场景

命令

说明

查看状态

git status

看哪些文件被修改、暂存、未跟踪

查看历史

git log --oneline

简洁查看提交历史

查看差异

git diff

看工作区未暂存改动

暂存改动

git add <file>

选择要进入下一次提交的内容

提交改动

git commit -m "message"

生成一次版本快照

查看远程

git remote -v

确认 GitHub 仓库地址

推送

git push

本地提交同步到远程

拉取

git pull

获取并合并远程更新

新建分支

git switch -c <branch>

创建并切换到新分支

切换分支

git switch <branch>

切换工作分支

新手最容易混淆的点

易混点

正确理解

add 和 commit

add 是准备提交,commit 才是写入历史

Git 和 GitHub

Git 是工具,GitHub 是远程平台

pull 和 push

pull 是拿远程更新,push 是上传本地提交

本地仓库和远程仓库

本地提交不会自动出现在 GitHub,必须 push

分支不是复制项目

分支是同一仓库里不同提交线的指针

实战建议

个人开发

  • 每完成一个独立小目标就提交一次。

  • commit message 写清“做了什么”,不要只写 update。

  • 修改前先 git status,提交前再 git diff。

团队开发

  • 不直接在 main 上开发功能。

  • 每个功能一个分支,合并前走 Pull Request。

  • 冲突出现时先理解双方改动,不要机械覆盖。

AI 编程场景

  • 让 AI 改代码前先确认当前分支和 git status。

  • 大改动前创建新分支,方便回滚和对比。

  • AI 生成代码后,用 git diff 审查变更,再提交。

  • 不要把 .env、密钥、token 提交到仓库。

推荐学习路线

图片

flowchart LR
  A[会用 status/add/commit] --> B[理解工作区/暂存区/仓库]
  B --> C[会连接 GitHub 并 push/pull]
  C --> D[掌握 branch/switch/merge]
  D --> E[学会 Pull Request 协作]
  E --> F[处理冲突、回滚、rebase]

最小可用命令清单

如果只记 10 条,优先记这些:

git init
git clone <url>
git status
git add .
git commit -m "message"
git log --oneline
git remote -v
git push
git pull
git switch -c <branch>

复盘清单

一句话记忆

把 Git 当成版本时间线,把 GitHub 当成团队共享的远程时间线。日常开发就是不断把有意义的小变化,从工作区整理成提交,再同步到远程协作空间。

Table of Contents