完善生产异常维修与备件管理功能

This commit is contained in:
2026-09-01 19:17:09 +08:00
parent 02a429af66
commit 32f1486f5e
49 changed files with 1765 additions and 121 deletions
+241
View File
@@ -0,0 +1,241 @@
---
name: git-submit
description: 仓库代码提交规范,覆盖状态检查、提交、同步远程、推送及常见冲突处理
---
## 适用范围
用于将当前仓库的本地代码安全提交到远程仓库。执行前必须确认用户明确要求提交或推送;仅查看代码、开发功能或运行测试时,不主动执行提交和推送。
当前项目约定:
- 默认分支:`main`
- 远程名称:`origin`
- 远程地址:以 `git remote -v` 的实际输出为准,不重复添加已存在的 `origin`
- 提交信息:使用简洁、准确的中文描述,说明本次变更目的
## 标准提交流程
### 1. 确认仓库位置和当前状态
在项目根目录执行:
```powershell
git rev-parse --show-toplevel
git status --short --branch
git branch --show-current
git remote -v
```
检查以下内容:
- 是否位于目标仓库根目录
- 当前分支是否为预期分支,默认应为 `main`
- 是否存在未提交修改、未跟踪文件或冲突文件
- `origin` 是否已配置,以及拉取和推送地址是否正确
如果 `origin` 已存在,不要执行 `git remote add origin`。需要修正地址时使用:
```powershell
git remote set-url origin <仓库地址>
```
### 2. 审阅变更内容
提交前查看文件变更和差异:
```powershell
git status
git diff
git diff --stat
```
确认:
- 没有误改、敏感信息、密钥、日志或临时文件
- 修改范围与用户需求一致
- 不应提交的文件已通过 `.gitignore` 排除
- 若发现不属于本次任务的修改,不要擅自删除或覆盖;只暂存确认过的文件
如需查看某个文件的差异:
```powershell
git diff -- <文件路径>
```
### 3. 暂存需要提交的文件
优先按文件或目录精确暂存:
```powershell
git add <文件路径>
git add <目录路径>
```
仅当确认工作区所有修改都属于本次任务时,才使用:
```powershell
git add .
```
暂存后复核:
```powershell
git status
git diff --cached
git diff --cached --stat
```
如果误暂存文件,可取消暂存,不会丢失文件修改:
```powershell
git restore --staged <文件路径>
```
### 4. 提交本地变更
确保暂存区内容正确后提交:
```powershell
git commit -m "<简洁明确的提交说明>"
```
提交信息建议:
- 使用中文描述业务目的或技术变更
- 避免使用“修改一下”“临时提交”等无信息内容
- 一次提交尽量只包含一个完整主题
提交后检查:
```powershell
git status --short --branch
git log -1 --oneline
```
如果提示 `nothing to commit`,说明当前没有新的已暂存变更;先检查状态和最近提交,不要重复创建空提交。
### 5. 推送到远程仓库
首次推送当前分支或需要建立跟踪关系时:
```powershell
git push -u origin main
```
已有跟踪关系时:
```powershell
git push origin main
```
不要在未确认目标分支的情况下直接推送其他分支。推送后核验:
```powershell
git status --short --branch
git log -1 --oneline
```
状态应显示本地 `main` 与 `origin/main` 同步,且没有意外的未提交修改。
## 远程同步与冲突处理
### 推送被拒绝:远程包含本地没有的提交
不要直接强制推送。先获取并以变基方式同步:
```powershell
git pull --rebase origin main
```
同步无冲突后再次推送:
```powershell
git push origin main
```
### 变基过程中出现冲突
1. 查看冲突文件:
```powershell
git status
```
2. 打开冲突文件,保留正确内容并移除冲突标记:
```text
<<<<<<<
=======
>>>>>>>
```
3. 逐个标记已解决的文件:
```powershell
git add <已解决的文件路径>
```
4. 继续变基:
```powershell
git rebase --continue
```
5. 变基完成后推送:
```powershell
git push origin main
```
如果无法安全解决,保留现场并中止变基:
```powershell
git rebase --abort
```
中止后先向用户说明冲突文件和原因,不要擅自覆盖远程或本地内容。
### 工作区有本地未提交修改,无法同步
先查看状态和差异,确认这些修改是否属于当前任务。未经确认不要使用 `git reset --hard` 或其他会丢失修改的命令。必要时可在用户确认后暂存并同步,或先创建临时提交。
### 只有确认远程历史应被覆盖时才使用强制推送
默认禁止使用:
```powershell
git push --force
```
如果用户明确确认覆盖远程历史,优先使用更安全的方式:
```powershell
git push --force-with-lease origin main
```
执行前再次核对远程地址、目标分支和将被覆盖的提交。
## 禁止事项
- 不重复执行已存在远程名的 `git remote add origin`
- 不使用 `git push --force` 绕过推送拒绝
- 不使用 `git reset --hard`、清理命令或覆盖操作来隐藏问题
- 不提交密钥、密码、个人配置、构建产物和临时文件
- 不跳过变更审阅直接执行 `git add .`、`git commit`、`git push`
- 不在未确认分支和远程地址时推送
## 提交检查清单
- [ ] 已确认项目根目录和当前分支
- [ ] 已确认 `origin` 的实际远程地址
- [ ] 已查看工作区状态和差异
- [ ] 已排除无关修改及敏感文件
- [ ] 已精确暂存目标文件
- [ ] 已复核暂存区差异
- [ ] 已使用清晰的提交信息
- [ ] 已确认提交成功
- [ ] 已同步远程历史或处理冲突
- [ ] 已推送到预期的 `origin/main`
- [ ] 已确认本地分支与远程分支同步