Git + GitHub 核心概念串讲笔记
来源:抖音视频《Git+Github核心概念串讲从零到一攻略,AI...》,作者:技术爬爬虾
原链接: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. 创建仓库
本地新项目:
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
推荐工作流:
-
从
main拉最新代码。 -
新建功能分支。
-
在功能分支上提交小步改动。
-
推送分支到 GitHub。
-
发起 Pull Request。
-
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 当成团队共享的远程时间线。日常开发就是不断把有意义的小变化,从工作区整理成提交,再同步到远程协作空间。