Git 和 GitHub 基础使用指南
一、先搞清楚:Git 和 GitHub 是什么关系?
想象你在写一本日记:
| 工具 | 生活比喻 | 作用 |
|---|---|---|
| Git | 你桌上的时光机(一台老式相机) | 装在你电脑上,能(拍照存档),随时回退到之前的版本,即使断网也能工作 |
介绍 Git 版本控制工具与 GitHub 托管平台的区别及基础使用方法。涵盖账号注册、Git 安装配置、远程仓库创建、本地仓库初始化、代码推送(含 PAT 令牌认证)、日常更新工作流、常见错误排查、.gitignore 配置以及 GitHub Pages 部署。适合编程初学者快速上手代码云端管理。
想象你在写一本日记:
| 工具 | 生活比喻 | 作用 |
|---|---|---|
| Git | 你桌上的时光机(一台老式相机) | 装在你电脑上,能(拍照存档),随时回退到之前的版本,即使断网也能工作 |
| GitHub | 互联网上的图书馆(GitHub.com网站) | 提供存放代码的"书架"(远程仓库),你可以把本地备份"寄"到这里,换电脑时能下载,还能给别人看 |
一句话总结:Git 是工具(相机),GitHub 是平台(图书馆)。就像微信(工具)和微信朋友圈(平台)的关系。
关键区别:
zhangsan-web,以后很难改!)Windows:
git --version
如果显示版本号(如 git version 2.40.0)就成功了!
Mac:
git --version打开 Git Bash(Windows)或终端(Mac),输入以下命令(替换为你的信息):
# 配置用户名(建议和 GitHub 用户名一致)
git config --global user.name "你的 GitHub 用户名"
# 配置邮箱(必须和 GitHub 注册邮箱完全一致)
git config --global user.email "你的邮箱@example.com"
作用:就像在每张照片背面签名,以后查看历史记录就知道是谁改的。
HTML-Study-Week1(仓库名,英文短横线连接)第一周 HTML 学习代码和笔记(可选)创建成功后,在页面中间看到 Quick setup 区域:
https://github.com/你的用户名/HTML-Study-Week1.git)假设你的 HTML 作业放在桌面的 Week1-Homework 文件夹里。
# Windows(路径换成你的)
cd C:/Users/你的用户名/Desktop/Week1-Homework
# Mac
cd ~/Desktop/Week1-Homework
快捷方式:Windows 用户可以直接在文件夹空白处右键 → Git Bash Here
git init
Initialized empty Git repository....git 文件夹(时光机的硬盘,别删!)先添加到暂存区(把作业摆到相机前):
git add .
. 表示"当前文件夹的所有文件",包括子文件夹.gitignore 文件指定了忽略规则(比如临时文件、系统文件),那么这些文件不会被添加再提交到本地仓库(按下快门,写照片备注):
git commit -m "第一周作业:HTML 基础标签和表单"
-m 后面必须写清楚做了什么,如"添加 CSS 样式"、"修复图片路径"
-m "修复登录表单验证逻辑"-m 参数,Git 会打开编辑器让你写多行-m 进入了奇怪界面(Vim 编辑器),按 Esc → 输入 :q! → 回车退出,然后重新提交使用刚才复制的 HTTPS 地址:
git remote add origin https://github.com/你的用户名/HTML-Study-Week1.git
命令拆解:
git remote add:添加远程地址origin:给远程仓库起的外号(习惯叫 origin,你可以理解为"默认云端")验证是否关联成功:
git remote -v
看到显示 origin https://github.com/... 即成功。
GitHub 现在默认主分支叫 main,但你的本地 Git 版本可能默认是 master。
# 查看本地分支名
git branch
* master:你的分支是 master* main:你的分支是 main根据你的分支名选择:
# 如果你的分支是 main
git push -u origin main
# 如果你的分支是 master
git push -u origin master
命令拆解:
git push:推送-u:–set-upstream 的缩写,第一次推送需要,作用是"记住这次推送的目标位置",以后直接 git push 即可origin:刚才起的外号(往哪个图书馆送)main/master:你的分支名执行上面的 push 命令后,会弹出窗口让你登录。注意:这里不能输 GitHub 密码! GitHub 在 2021 年后取消了密码登录,必须用 PAT(Personal Access Token)。
我的电脑(随便写,方便识别)repo(仓库权限,允许推送代码)ghp_xxxxxxxxxxxx)!刷新页面后就看不到了,丢了需要重新生成终端显示 Writing objects: 100%... 或 Done,即推送成功!🎉
刷新 GitHub 网页,看到你的 HTML 文件和笔记出现了!
以后你修改了代码,只需这 3 步:
# 1. 保存修改(拍照)
git add .
# 2. 写备注(这是第几周?改了什么?)
git commit -m "第二周更新:添加 CSS 样式和响应式布局"
# 3. 推送到云端(因为已经关联过,直接 push)
git push
git push 提示 "rejected" 或 "non-fast-forward"原因:远程仓库有文件而本地没有(比如你手贱在网页上点了编辑 README)
解决:先拉取再推送
# 先拉取远程代码(合并不同历史)
git pull origin main --allow-unrelated-histories
# 如果有冲突,解决冲突后再推送
git push origin main
--allow-unrelated-histories 参数允许合并没有共同祖先的历史(第一次同步常用)
git push 提示 "Permission denied" 或认证失败原因:用了 GitHub 登录密码而不是 PAT 令牌
解决:按上文步骤生成 PAT,用那个长字符串当密码
fatal: not a git repository原因:你当前不在项目文件夹里,或没执行 git init
解决:cd 进入正确的项目文件夹,执行 git init
原因:你的本地分支名可能是 master 而不是 main
解决:查看分支名 git branch,根据显示的分支名推送:
# 如果是 master
git push -u origin master
# 或者把分支重命名为 main(推荐,统一名称)
git branch -m main # 重命名分支
git push -u origin main
如果某些文件(如 .md 笔记)没出现:
解决:
.gitignore 文件*.md).gitignore 中的对应规则git add -f 文件名.md表现:之前能推送,突然要重新登录且令牌无效
解决:重新生成 PAT 令牌(步骤同上),用新令牌登录
有些文件不应该上传到 GitHub(比如系统文件、编辑器临时文件):
.gitignore 文件(没有后缀名!)# 系统文件
.DS_Store # Mac 系统文件
Thumbs.db # Windows 缩略图
# 编辑器/IDE 文件
.vscode/
.idea/
*.swp
*.swo
# 依赖文件夹(如果有)
node_modules/
# 日志文件
*.log
# 敏感文件(不要上传密码!)
config.ini
*.key
*.pem
git add . 添加一键部署,让全世界访问你的网页:
访问地址:
用户名.github.io,访问:https://用户名.github.iohttps://用户名.github.io/仓库名示例:你的用户名是 zhangsan-web,仓库名是 HTML-Study-Week1,那么网站地址是:
text
https://zhangsan-web.github.io/HTML-Study-Week1
完成本节后,请确认你已掌握:
git --version 验证git config)git init 初始化git add + git commit + git pushgit branch)A:不一定。Git 可以单独使用(本地版本控制),GitHub 只是 Git 远程仓库的一种。类似服务还有 GitLab、Gitee 等。
A:对于初学者,PAT 令牌(HTTPS)更简单。SSH 密钥配置稍复杂,但更安全方便(无需每次输入密码)。你可以先掌握 PAT,后期再学 SSH。
A:如果仓库是 Public(公开),所有人都能看到。如果是 Private(私有),只有你和你邀请的人能看到。个人账户的私有仓库也是免费的。
A:单个文件建议不超过 100MB,仓库总大小不超过 1GB(一般代码项目远小于这个值)。大文件建议用 Git LFS。
至此,你的代码已安全存储于云端。即使电脑损坏,只要登录 GitHub 就能找回所有努力。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online