# ！ [拒绝]        main -> main（非快进）

- **ID:** `git/push-rejected-non-fast-forward`
- **领域:** git
- **类别:** protocol_error
- **验证级别:** ai_generated
- **修复率:** 90%

## 根因

本地分支落后于远程分支，无法快进；Git 拒绝在没有强制推送的情况下覆盖远程提交。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| git 2.20 | active | — | — |
| git 2.30 | active | — | — |
| git 2.45 | active | — | — |

## 解决方案

1. ```
   Pull the latest remote changes and merge or rebase: git pull origin main --rebase
   ```
2. ```
   If you are sure you want to overwrite remote history, use force push with lease: git push --force-with-lease origin main
   ```

## 无效尝试

- **** — Force push can overwrite remote commits, potentially losing work from other contributors; it should be used with caution. (60% 失败率)
- **** — The error is about commit history divergence, not connectivity; retrying won't change the history mismatch. (95% 失败率)
