510-GitHub团队开发基础
- 一、这是什么?(拒绝死记硬背)
- 二、准备工作(磨刀不误砍柴工)
- 三、(选看)打通任督二脉(SSH配置)
- [四、VSCode 命令行实战(开始表演)](#四、VSCode 命令行实战(开始表演))
-
- [4.1:场景一,学习别人的代码(git clone)](#4.1:场景一,学习别人的代码(git clone))
- [4.2: 场景二:上传你自己的学习笔记(从0开始推送)](#4.2: 场景二:上传你自己的学习笔记(从0开始推送))
- 总结
一、这是什么?(拒绝死记硬背)
在敲命令之前,我要先帮你建立一个空间思维。
你可以把Git想象成一个**"超级游戏存档系统",而GitHub就是"云端存档服务器"**。
在这个系统里,有四个重要的区域,你必须得心里有数:
云端 (GitHub) 你的电脑 (本地) git add git commit git push git pull 远程仓库
Remote Repo 暂存区
Staging Area 工作区
Workspace 本地仓库
Local Repo
- 工作区 (Workspace):就是你VSCode打开的文件夹,你在里面写代码。
- 暂存区 (Staging Area):这是一个**"购物车"**。你想提交哪些文件,就先把它们扔进购物车。
- 本地仓库 (Local Repo):这是你的**"私人保险箱"**。一旦提交到这里,就生成了一个"存档点",随时可以回退。
- 远程仓库 (Remote Repo):这就是GitHub。
二、准备工作(磨刀不误砍柴工)
2.1 安装git
-
下载 :去 Git官网 下载Windows版本。
- 注:第一个为独立安装包,安装会自动配置环境变量。如果验证部分没有成功,可能是环境变量没有配置好。
-
安装:一路"Next"到底就行。
-
验证 :打开终端(cmd或PowerShell),输入
git --version。如果出现了版本号,恭喜你,装备安装成功!

2.2 搭建云端基地 (认识与注册 GitHub)
它是谁?
不要只把它当成存代码的网盘。对于我们 IoT 工程师来说,GitHub 是:
-
代码托管所:怕电脑坏了代码丢了?存这儿最安全。
-
程序员的"朋友圈":你会看到全球最牛的大佬(比如 Linux 之父)也在用它。
-
开源圣地:你用的 ESP-IDF、Arduino 库、Docker 镜像,源头都在这。
-
你的第二张名片:以后找工作,把你全是绿色提交记录的 GitHub 主页亮出来,比说什么都管用。
怎么注册?
-
访问官网 :打开浏览器,输入 github.com。
- 注:登录GitHub需要科学上网哦😁。
-
Sign Up (注册):
-
点击右上角的 "Sign up" 按钮。
-
Enter your email :填你常用的邮箱(重点:这个邮箱要记好,一会儿配置 Git 就要用它!,如果有谷歌邮箱尽量用谷歌邮箱注册,之后会很方便)。
-
Create a password:设置个复杂的密码。
-

-
人机验证 (最搞心态的一步):
- GitHub 为了防机器人,验证码有时候很刁钻(比如让你选出"方向正确的椅子"或者"计算星系的数量")🤣

- GitHub 为了防机器人,验证码有时候很刁钻(比如让你选出"方向正确的椅子"或者"计算星系的数量")🤣
-
邮箱验证:
-
去你的邮箱里查收验证码,填回去。
-
登录
-
2.3. 自报家门 (配置身份)
既然是写笔记,你得告诉Git是谁在写。这就像给你的画作盖章。
在终端里输入这两行(把名字和邮箱换成你的GitHub账号信息):
bash
git config --global user.name "tarak520"
git config --global user.email "your_email@example.com"
--global:表示这台电脑上所有的项目都用这个名字。
- 如果忘记邮箱,按照下图步骤查找:
2.3 补充(选看):若有多个GitHub账号需要上传,怎么办
- 概念解析:全局 vs 局部
你可以把 Git 的配置想象成你的**"着装规则"**:
- Global (全局/默认):就像是你平时穿的**"便服"**。只要你没刻意换衣服,不管去哪(哪个项目文件夹),你都穿这一套。
- Local (局部/特定):就像是**"工作制服"**。当你走进某个特定的公司(特定的项目文件夹)时,你换上了这套衣服。等你出了门,你又变回穿便服的样子了。
-
实操方法:如何穿"马甲"
如果你电脑上主要是你在用(Tarak),但偶尔你要帮同学或者用另一个小号(比如
Tarak-Work)做某个特定项目。第一步:设置"便服" (也就是你刚才做的)
这台电脑 90% 的情况都是你自己在用,所以我们在最外面设一个全局的:
bashgit config --global user.name "Tarak" git config --global user.email "tarak@example.com"第二步:给特定项目穿"制服"
假设你有一个项目叫
Secret-Project,在这个项目里,你想用另一个身份。-
先进入这个文件夹 :
bashcd Secret-Project -
去掉
--global,设置局部配置 :bashgit config user.name "Tarak-Work" git config user.email "work@company.com"
-
就这样! 在这个文件夹里,Git 会优先看"局部配置"。出了这个文件夹,它又会乖乖听"全局配置"的话。
为了让你更清楚逻辑,看这个优先级图:
有 没有 有 没有 Git 决定使用哪个名字/邮箱? 当前文件夹有 Local 配置吗? 优先使用 Local 配置 电脑有 Global 配置吗? 使用 Global 配置 报错: 告诉我你是谁!
特别提醒 (重点!)
这里有个非常容易混淆的概念,一定要听好哦!🧐
我们刚才设置的 user.name 和 user.email,仅仅是**"签名"**。
就像你在画作右下角写的名字。你想签 "Leonardo da Vinci" 都可以,Git 不会管你是不是真的达芬奇。
但是!
当你 git push (推送到 GitHub) 的时候,GitHub 服务器需要**"查身份证"(验证权限),这时候看的是SSH 密钥**(就是我们下面生成的那个 Key)。
如果你有两个 GitHub 账号(比如账号 A 和账号 B),并且这两个账号都没有权限互相访问对方的仓库。那你不仅需要改上面的 config(改签名),还需要配置不同的 SSH Key。
三、(选看)打通任督二脉(SSH配置)
拉取上传代码方式有HTTPS和SSH两种方式。HTTPS最常用,但是每次需要输入密码(公开库除外);SSH方式就是配置密钥,这样可以无需输出密码直接拉取上传,适合团队开发私有项目时使用。
GitHub需要知道"真的是Tarak在操作电脑",而不是黑客。最帅气的方式是使用 SSH密钥(就像我们要给你的电脑和GitHub之间配一把专属的钥匙,有了SSH密钥,我们每次推送代码的时候就费劲输入密码啦)。
-
生成私钥:
- 在终端输入(一路回车即可,快捷键:win + R -> cmd 回车):
bashssh-keygen -t ed25519 -C "your_email@example.com"- 注:
ed25519是一种加密算法,比老的RSA更快更安全。
- 关键时刻来了!👀
当出现:Enter file in which to save the key (...) :
👉 什么都不要输!直接按【回车键 (Enter)】!
(这表示:我们就用默认路径) - 设置密码
当出现:Enter passphrase (empty for no passphrase):
👉 直接按【回车键】!
(这表示:我懒得设密码,我要免密) - 确认密码
当出现:Enter same passphrase again:
👉 再次直接按【回车键】!
✨ 成功标志:你会看到一个方框里有很多奇怪的字符(那是你的钥匙生成的随机图案),这才是生成成功了

-
获取公钥 :
你需要把"锁芯"给GitHub。输入:
bashtype .ssh\id_ed25519.pub把显示出来的那一长串以
ssh-ed25519开头的字符复制下来。- 公钥 (id_ed25519.pub):这是**"锁"**。
你可以把它贴在任何地方(比如贴在 GitHub 服务器上)。它的任务就是告诉 GitHub:"只有拥有匹配钥匙的人才能进来。" - 私钥 (id_ed25519):这是**"钥匙"**。
它永远只保存在你的电脑里,绝对不能给别人看。
- 公钥 (id_ed25519.pub):这是**"锁"**。
你的电脑 (持有私钥) GitHub (持有公钥) 嘿,我是Tarak,我要传代码! 是吗?我不信。我这有一把锁(公钥),你解开给我看看?(发送加密挑战) 电脑在后台悄悄取出 私钥进行解密运算... 解开了!答案是 XYZ! 答案正确!门已开,数据传过来吧! 你的电脑 (持有私钥) GitHub (持有公钥)
- 告诉GitHub :
- 登录 GitHub 网页。
- 点击右上角头像 ->
Settings->SSH and GPG keys->New SSH key。 - 标题随便填(比如
My Laptop),内容粘贴刚才那一长串字符。 
四、VSCode 命令行实战(开始表演)
好,现在打开你的 VSCode 。按下快捷键 Ctrl + shift + ` (波浪号)或者点击上方的终端 -> 新建终端,唤出下方的终端。

4.1:场景一,学习别人的代码(git clone)
你在GitHub上看到了一个厉害的ESP32项目,想弄下来研究。
- 复制链接 :在GitHub项目页点击绿色的
<> Code按钮,选择 HTTPS ,复制那个链接。

- HTTPS:最常用,适合大多数项目拉取。
- SSH:如果电脑上配置了该账号密钥,可以用这个,不用输入密码。
- 拉取代码 :
-
新建文件夹,用VScode打开,并打开终端。
-
方式一:HTTPS
bashgit clone https://github.com/Tarak-web/PCB-Project-2025.gitclone:克隆。就像影分身术,把云端的代码完整地复制到你电脑上。- 因为是公开项目,下载时它不会问你要密码。
-
方式二:SSH
bashgit clone git@github.com:Tarak-web/PCB-Project-2025.git- 注意两种方式命令稍有不同。
-

- 拉取成功,快去试一试吧!😁
-
4.2: 场景二:上传你自己的学习笔记(从0开始推送)
情况一:加入团队仓库协作开发
- 此情况为已经拥有仓库,成员直接在本地对现有仓库进行拉取和推送操作。
-
邀请成员(项目管理者操作步骤)
- 如果是项目管理者,需要做以下几步。
- 要选择开发的项目仓库(如果还没有创建仓库,请看情况二)
- 在该项目中,点击设置选项
- 点击协作(此时会要求输入密码,如果电脑配置了SSH,可以无需密码)
- 点击添加
- 输入要添加的队员GitHub账号名字,点击添加
-
队员接受队长邀请(此队员操作步骤)

- GitHub或注册邮箱都可接受邀请,接受后可以看到受邀项目啦😄

-
VSvode拉取和推送
-
以下操作均在VS终端执行,第一次需要拉取仓库,之后每次更改项目,只需要执行拉取代码、推送、执行三步即可。
-
新建一个空文件夹,用打开VScode,新建终端。
-
拉取仓库 (Clone)
bashgit clone git@github.com:朋友的名字/项目名.git-

-
(注意:这里可以用 SSH 链接,因为你已经是协作者了,有权限免密推送!当然,如果你用的是校园网,可能会因为网络环境而拉取失败,此时尝试用HTTPS也可以,或者设置443端口。)
-

-
-
拉取代码:每天干活前的第一件事:拉取最新代码 (Pull)
- ⚠️ 只要不是你自己一个人开发,这步就是保命符!
在你开始写新代码之前,必须先看看朋友有没有更新过。
bashgit pull- 这会把云端最新的修改拉到你本地。如果不拉,等你写完想推的时候,Git 会报错让你先拉取,到时候解决冲突会很麻烦。
- ⚠️ 只要不是你自己一个人开发,这步就是保命符!
-
写代码 -> 提交 (常规操作)
bashgit add . git commit -m "Tarak增加了某个NB的功能"- 修改或添加后,进行提交。
- -m` 后面是备注信息。这个习惯一定要养好,别写什么 "update" 这种没意义的词,要写清楚你干了什么。
-
推送 (Push)
bashgit push
-
情况二:创建自己的项目仓库
-
在GitHub上建立空仓库

- 注意,Add README ,该选项会自动建立说明文文档。如果我们上传文件中需要自己写README文件,这里就不要选。
-
初始化(把普通文件夹变成Git仓库):
- ⚠️注意:以下步骤场景为VScode终端。
- 创建空文件夹,并在VScode中打开该文件夹,终端输入:
bashgit init- 这时你会发现文件夹里多了一个隐藏的
.git文件夹,这就是你的"时光机"引擎。(如果你隐藏了可能看不到)
-
写点东西 :创建一个
README.md文件。 -
加入购物车(git add):
bashgit add ..代表把当前文件夹下所有修改过的文件都放进暂存区。
-
存档(git commit):
bashgit commit -m "第一次提交:创建笔记首页"-m后面是备注信息。这个习惯一定要养好,别写什么 "update" 这种没意义的词,要写清楚你干了什么。
-
关联远程仓库(告诉它要发到哪去):
- 注意⚠️: (这一步只要做一次)
- 复制仓库的克隆链接,我们这里使用SSH,HTTPS与此方式差不多。

bashgit remote add origin git@github.com:tarak520/my-notes.gitorigin是给远程仓库起的小名,通常都叫这个。
-
推送到云端(git push):
bashgit push -u origin main- (注:推送main为主支,master为分支。团队开发时,一般每个队员为master分支,然后代码整理好后整合为main)
-u:这就好比把"本地分支"和"云端分支"绑了一根红线。以后你再推,只需要输入git push就行了,不用那么啰嗦。
-
查看GitHub
- 刷新GitHub,可以看到仓库中我们推送的文件

总结
- 以上教程会涉及很多名字:GitHub账号名、邮箱、GitHub项目名称、本地文件夹名称。注意不要搞混名字。


