diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dbc66b..9f2de95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ --- -## [v2.0.0] - 2024-12-XX +## [v2.0.0] - 2025-10-25 ### 🎉 重大更新 @@ -213,5 +213,5 @@ --- -**最后更新**: 2024-12-XX +**最后更新**: 2025-10-25 **当前版本**: v2.0.0 diff --git a/GIT_GUIDE.md b/GIT_GUIDE.md new file mode 100644 index 0000000..288cc52 --- /dev/null +++ b/GIT_GUIDE.md @@ -0,0 +1,505 @@ +# Git 推送教程 + +本文档教你如何将代码推送到 Git 仓库(以 Gitea 为例)。 + +--- + +## 📚 基础概念 + +### Git 工作流程 +``` +工作区 → 暂存区 → 本地仓库 → 远程仓库 + ↓ ↓ ↓ ↓ +编辑文件 git add git commit git push +``` + +--- + +## 🚀 完整推送流程 + +### 1️⃣ 查看文件状态 + +```bash +git status +``` + +**作用**: 查看哪些文件被修改、新增或删除 + +**输出示例**: +``` +Changes not staged for commit: + modified: frontend/src/App.vue + +Untracked files: + CHANGELOG.md +``` + +--- + +### 2️⃣ 添加文件到暂存区 + +#### 添加所有文件 +```bash +git add -A +``` +或 +```bash +git add . +``` + +#### 添加特定文件 +```bash +git add frontend/src/App.vue +git add CHANGELOG.md +``` + +#### 添加特定目录 +```bash +git add frontend/ +git add backend/ +``` + +**提示**: `-A` 会添加所有修改、新增和删除的文件 + +--- + +### 3️⃣ 提交到本地仓库 + +```bash +git commit -m "提交说明" +``` + +#### 提交说明规范 + +**格式**: `类型: 简短描述` + +**常用类型**: +- `feat`: 新功能 +- `fix`: 修复bug +- `docs`: 文档更新 +- `style`: 代码格式调整 +- `refactor`: 重构代码 +- `perf`: 性能优化 +- `test`: 测试相关 +- `chore`: 构建/工具相关 + +**示例**: +```bash +# 简单提交 +git commit -m "feat: 添加用户登录功能" + +# 详细提交(多行) +git commit -m "feat: 添加用户登录功能 + +- 实现登录表单 +- 添加JWT认证 +- 完善错误处理" +``` + +--- + +### 4️⃣ 推送到远程仓库 + +```bash +git push origin main +``` + +**参数说明**: +- `origin`: 远程仓库名称(默认) +- `main`: 分支名称(也可能是 `master`) + +#### 首次推送 +```bash +git push -u origin main +``` +`-u` 参数会设置上游分支,之后只需 `git push` 即可 + +--- + +## 🔄 完整示例 + +### 场景1: 推送所有修改 + +```bash +# 1. 查看状态 +git status + +# 2. 添加所有文件 +git add -A + +# 3. 提交 +git commit -m "feat: 完成首页重构" + +# 4. 推送 +git push origin main +``` + +### 场景2: 推送特定文件 + +```bash +# 1. 添加特定文件 +git add frontend/src/App.vue +git add CHANGELOG.md + +# 2. 提交 +git commit -m "docs: 更新文档" + +# 3. 推送 +git push origin main +``` + +### 场景3: 修改上次提交 + +```bash +# 如果忘记添加某个文件 +git add forgotten-file.txt +git commit --amend --no-edit + +# 如果要修改提交信息 +git commit --amend -m "新的提交信息" + +# 强制推送(谨慎使用) +git push -f origin main +``` + +--- + +## 🔧 常用命令 + +### 查看相关 + +```bash +# 查看状态 +git status + +# 查看提交历史 +git log + +# 查看简洁历史 +git log --oneline + +# 查看远程仓库 +git remote -v + +# 查看分支 +git branch +``` + +### 撤销相关 + +```bash +# 撤销工作区修改 +git checkout -- filename + +# 撤销暂存区(保留工作区修改) +git reset HEAD filename + +# 撤销上次提交(保留修改) +git reset --soft HEAD^ + +# 撤销上次提交(不保留修改) +git reset --hard HEAD^ +``` + +### 分支相关 + +```bash +# 查看所有分支 +git branch -a + +# 创建新分支 +git branch feature-name + +# 切换分支 +git checkout feature-name + +# 创建并切换分支 +git checkout -b feature-name + +# 合并分支 +git merge feature-name + +# 删除分支 +git branch -d feature-name +``` + +--- + +## 🎯 快速推送(一键命令) + +### 创建快捷脚本 + +创建文件 `push.sh`: +```bash +#!/bin/bash + +# 快速推送脚本 + +echo "📝 查看状态..." +git status + +echo "" +echo "➕ 添加所有文件..." +git add -A + +echo "" +echo "💬 请输入提交信息:" +read commit_message + +echo "" +echo "📦 提交中..." +git commit -m "$commit_message" + +echo "" +echo "🚀 推送到远程仓库..." +git push origin main + +echo "" +echo "✅ 推送完成!" +``` + +**使用方法**: +```bash +# 添加执行权限 +chmod +x push.sh + +# 运行脚本 +./push.sh +``` + +--- + +## 🔐 配置 Git + +### 设置用户信息 + +```bash +# 全局配置 +git config --global user.name "你的名字" +git config --global user.email "your.email@example.com" + +# 项目配置 +git config user.name "你的名字" +git config user.email "your.email@example.com" +``` + +### 查看配置 + +```bash +# 查看所有配置 +git config --list + +# 查看特定配置 +git config user.name +git config user.email +``` + +### 保存密码(HTTPS) + +```bash +# 永久保存 +git config --global credential.helper store + +# 临时保存(15分钟) +git config --global credential.helper cache +``` + +--- + +## 🌐 远程仓库操作 + +### 添加远程仓库 + +```bash +git remote add origin https://git.vcck.cn/nvex/ns2.0.git +``` + +### 修改远程仓库地址 + +```bash +git remote set-url origin https://new-url.git +``` + +### 查看远程仓库 + +```bash +git remote -v +``` + +### 删除远程仓库 + +```bash +git remote remove origin +``` + +--- + +## ⚠️ 常见问题 + +### 1. 推送被拒绝 + +**错误**: `! [rejected] main -> main (fetch first)` + +**原因**: 远程仓库有新的提交 + +**解决**: +```bash +# 拉取远程更新 +git pull origin main + +# 如果有冲突,解决后再推送 +git push origin main +``` + +### 2. 合并冲突 + +**解决步骤**: +```bash +# 1. 查看冲突文件 +git status + +# 2. 手动编辑冲突文件,删除冲突标记 +# <<<<<<< HEAD +# 你的修改 +# ======= +# 远程的修改 +# >>>>>>> branch-name + +# 3. 添加解决后的文件 +git add conflict-file.txt + +# 4. 提交 +git commit -m "fix: 解决合并冲突" + +# 5. 推送 +git push origin main +``` + +### 3. 忘记添加文件 + +```bash +# 添加遗漏的文件 +git add forgotten-file.txt + +# 修改上次提交 +git commit --amend --no-edit + +# 强制推送(如果已经推送过) +git push -f origin main +``` + +### 4. 推送到错误的分支 + +```bash +# 撤销推送(本地) +git reset --hard HEAD^ + +# 推送到正确的分支 +git push origin correct-branch +``` + +--- + +## 📋 推送检查清单 + +推送前检查: + +- [ ] 代码已测试,没有明显错误 +- [ ] 敏感信息已删除(密码、密钥等) +- [ ] `.gitignore` 已配置正确 +- [ ] 提交信息清晰明确 +- [ ] 已拉取最新代码(避免冲突) + +--- + +## 🎓 进阶技巧 + +### 1. 交互式添加 + +```bash +git add -p +``` +可以选择性地添加文件的部分修改 + +### 2. 暂存修改 + +```bash +# 暂存当前修改 +git stash + +# 查看暂存列表 +git stash list + +# 恢复暂存 +git stash pop + +# 删除暂存 +git stash drop +``` + +### 3. 查看差异 + +```bash +# 查看工作区和暂存区的差异 +git diff + +# 查看暂存区和仓库的差异 +git diff --staged + +# 查看两次提交的差异 +git diff commit1 commit2 +``` + +### 4. 标签管理 + +```bash +# 创建标签 +git tag v1.0.0 + +# 创建带注释的标签 +git tag -a v1.0.0 -m "版本 1.0.0" + +# 推送标签 +git push origin v1.0.0 + +# 推送所有标签 +git push origin --tags +``` + +--- + +## 📱 图形化工具推荐 + +如果不习惯命令行,可以使用图形化工具: + +1. **GitHub Desktop** - 简单易用 +2. **SourceTree** - 功能强大 +3. **GitKraken** - 界面美观 +4. **VS Code** - 内置Git功能 +5. **Tower** - Mac专用,功能完善 + +--- + +## 🔗 相关资源 + +- [Git 官方文档](https://git-scm.com/doc) +- [Git 教程 - 廖雪峰](https://www.liaoxuefeng.com/wiki/896043488029600) +- [GitHub Guides](https://guides.github.com/) +- [Git Cheat Sheet](https://education.github.com/git-cheat-sheet-education.pdf) + +--- + +## 💡 最佳实践 + +1. **频繁提交**: 小步快跑,每完成一个功能就提交 +2. **清晰的提交信息**: 让别人(和未来的自己)能看懂 +3. **使用分支**: 新功能在新分支开发,完成后合并 +4. **定期推送**: 避免本地代码丢失 +5. **拉取后推送**: 推送前先拉取最新代码 +6. **检查 .gitignore**: 不要提交敏感信息和临时文件 +7. **代码审查**: 推送前检查修改内容 + +--- + +**最后更新**: 2024-12-XX +**作者**: NEXT Store Team diff --git a/PUSH_QUICK_GUIDE.md b/PUSH_QUICK_GUIDE.md new file mode 100644 index 0000000..0180e24 --- /dev/null +++ b/PUSH_QUICK_GUIDE.md @@ -0,0 +1,117 @@ +# Git 推送快速指南 ⚡ + +## 最常用的三步推送 + +```bash +# 1. 添加所有修改的文件 +git add -A + +# 2. 提交到本地仓库 +git commit -m "你的提交说明" + +# 3. 推送到远程仓库 +git push origin main +``` + +就这么简单!✅ + +--- + +## 📝 提交说明示例 + +```bash +# 新功能 +git commit -m "feat: 添加用户登录功能" + +# 修复bug +git commit -m "fix: 修复首页加载问题" + +# 更新文档 +git commit -m "docs: 更新README" + +# 样式调整 +git commit -m "style: 优化导航栏样式" +``` + +--- + +## 🔍 推送前检查 + +```bash +# 查看哪些文件被修改了 +git status + +# 查看具体修改内容 +git diff +``` + +--- + +## ⚠️ 遇到问题? + +### 推送被拒绝 +```bash +# 先拉取远程更新 +git pull origin main + +# 再推送 +git push origin main +``` + +### 撤销修改 +```bash +# 撤销某个文件的修改 +git checkout -- filename + +# 撤销所有修改 +git checkout -- . +``` + +### 取消暂存 +```bash +# 取消某个文件的暂存 +git reset HEAD filename + +# 取消所有暂存 +git reset HEAD +``` + +--- + +## 🎯 一键推送脚本 + +创建 `quick-push.sh`: + +```bash +#!/bin/bash +git add -A +git commit -m "$1" +git push origin main +``` + +使用方法: +```bash +chmod +x quick-push.sh +./quick-push.sh "feat: 添加新功能" +``` + +--- + +## 📱 使用 VS Code + +1. 点击左侧"源代码管理"图标 +2. 在"更改"中查看修改的文件 +3. 点击 `+` 号暂存文件 +4. 输入提交信息 +5. 点击 `✓` 提交 +6. 点击 `...` → `推送` + +--- + +## 🆘 需要帮助? + +查看完整教程: [GIT_GUIDE.md](GIT_GUIDE.md) + +--- + +**记住**: 推送前先测试代码,确保没有错误!