git 说明
This commit is contained in:
@@ -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
|
**当前版本**: v2.0.0
|
||||||
|
|||||||
505
GIT_GUIDE.md
Normal file
505
GIT_GUIDE.md
Normal file
@@ -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
|
||||||
117
PUSH_QUICK_GUIDE.md
Normal file
117
PUSH_QUICK_GUIDE.md
Normal file
@@ -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)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**记住**: 推送前先测试代码,确保没有错误!
|
||||||
Reference in New Issue
Block a user