您现在的位置是:首页 >技术杂谈 >Git从入门到实战:用GitHub托管你的第一个项目网站首页技术杂谈
Git从入门到实战:用GitHub托管你的第一个项目
简介Git从入门到实战:用GitHub托管你的第一个项目
关键词:Git零基础教程、GitHub团队协作、代码冲突解决、GitHub Pages建站、校园项目实战
一、为什么每个开发者都要学Git?
2024年GitLab开发者报告显示:
- 97%的企业使用Git进行版本控制
- 团队协作项目合并冲突率高达68%
- GitHub托管了超过3亿个开源仓库
校园开发场景痛点:
- “代码覆盖门”:室友误删你的代码
- “版本混乱症”:final_final_v3_真正最终版.cpp
- “协作黑洞”:微信传代码包导致进度丢失
二、10分钟搞定Git环境配置
1. 安装Git(全平台通用)
- Windows版下载
- 勾选
Use Git from Git Bash only - 选择
Checkout Windows-style换行符
- 勾选
- macOS:
brew install git - Linux:
sudo apt install git
2. 身份认证配置
git config --global user.name "你的名字"
git config --global user.email "github注册邮箱"
# 生成SSH密钥(连接GitHub必备)
ssh-keygen -t ed25519 -C "your_email@example.com"
将~/.ssh/id_ed25519.pub内容粘贴到GitHub的SSH Keys设置页
三、单人开发:从零创建本地仓库
1. 初始化项目
mkdir my-project && cd my-project
git init # 创建.git隐藏目录
touch README.md
2. 文件生命周期管理
git add . # 暂存所有文件
git commit -m "init: 项目初始化" # 提交到本地仓库
git status # 查看当前状态
3. 时光机功能演示
| 场景 | 命令 |
|---|---|
| 回退到上个版本 | git reset --hard HEAD^ |
| 找回被删文件 | git checkout HEAD <文件> |
| 查看修改记录 | git log --oneline --graph |
四、团队协作:GitHub实战流程
1. 创建远程仓库
- GitHub新建仓库(勾选
Add a README file) - 本地关联远程仓库:
git remote add origin git@github.com:用户名/仓库名.git
git push -u origin main
2. 分支管理策略
协作命令三件套:
git checkout -b dev # 创建并切换分支
git push origin dev # 推送分支到远程
git merge dev --no-ff # 保留分支历史的合并
3. 冲突解决现场教学
模拟冲突场景:
- 你和队友同时修改了
utils.py第15行 - 执行
git pull时出现:
CONFLICT (content): Merge conflict in utils.py
解决步骤:
- 用VS Code打开冲突文件(自动标记冲突区域)
- 选择保留当前更改/他人更改/手动整合
- 重新提交:
git add .
git commit -m "fix: 合并冲突"
五、用GitHub Pages搭建个人博客
1. 极简三步建站法
- 创建
<用户名>.github.io仓库 - 添加
index.html:
<!DOCTYPE html>
<html>
<body>
<h1>我的技术博客</h1>
<p>Hello GitHub Pages!</p>
</body>
</html>
- 开启Pages服务:
Settings → Pages → Branch选择main → Save
2. 进阶玩法
- 使用Jekyll主题(支持Markdown写作)
- 绑定自定义域名
- 添加Google Analytics统计
六、校园项目实战:课程设计协作流程
1. 标准化操作流程
晨会同步 → 领取issue → 功能分支开发 → 本地测试 →
发起Pull Request → 代码审查 → 合并到main分支
2. 必备协作工具
- Issues:任务分配与进度跟踪
- Projects:看板式项目管理
- Actions:自动化测试与部署
七、常见错误急救手册
| 事故现场 | 抢救方案 |
|---|---|
| 提交了敏感信息 | git filter-branch强制清除历史 |
| 误删未提交的代码 | git fsck --lost-found找回 |
| 提交到错误分支 | git cherry-pick移植提交 |
| 远程仓库覆盖本地修改 | git stash暂存当前修改 |
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。





U8W/U8W-Mini使用与常见问题解决
QT多线程的5种用法,通过使用线程解决UI主界面的耗时操作代码,防止界面卡死。...
stm32使用HAL库配置串口中断收发数据(保姆级教程)
分享几个国内免费的ChatGPT镜像网址(亲测有效)
Allegro16.6差分等长设置及走线总结