在项目迭代中先后解决了 Git 初始化缺失、PowerShell 与 bash 语法差异、首次合并冲突、目录重构后暂存遗漏、远程分支领先导致推送拒绝以及大文件入库告警等问题通过标准化 Git 流程status→add→commit→pull --rebase→push与仓库治理策略.gitignore/LFS提升了协作稳定性与仓库可维护性。项目过程报错复盘按阶段1) Git 初始化阶段• 报错现象fatal: not a git repository (or any of the parent directories): .git• 出现时机在项目目录直接执行 git status 时• 根因当前目录还没执行 git init• 解决方式初始化仓库后再提交• git init -b main• git add .• git commit -m ...• 经验总结新项目第一步先确认 .git 是否存在避免后续命令连锁失败。2) PowerShell 命令兼容问题脚本语法• 报错现象The token is not a valid statement separator in this version.• 出现时机在 PowerShell 中使用 cmd/bash 风格的 链式命令• 根因PowerShell 版本/语法与 bash 不一致• 解决方式改成 PowerShell 兼容写法; $LASTEXITCODE 判断• 经验总结Windows 环境下命令示例尽量区分 bash / PowerShell 两套写法。3) 提交信息 HEREDOC 在 PowerShell 失败• 报错现象Missing file specification after redirection operator.由 EOF 引发• 出现时机尝试用 bash 风格 heredoc 传递 commit message• 根因EOF 是 bash 语法PowerShell 不支持• 解决方式改用 PowerShell here-string ... • 经验总结跨平台自动化时文本拼接/多行参数要按 shell 方言处理。4) 首次拉取远程出现合并冲突• 报错现象CONFLICT (add/add): Merge conflict in README.md• 出现时机本地初次与远程 main 合并pull --allow-unrelated-histories• 根因本地和远程都新增了 README.md内容不同• 解决方式手动编辑冲突标记 保留目标内容后重新提交• 经验总结第一次接远程仓库时优先检查 README、.gitignore、入口文件是否重叠创建。5) 提交失败文件未暂存• 报错现象no changes added to commit (use git add and/or git commit -a)• 出现时机目录重构后直接 commit• 根因移动产生的大量变更未正确暂存• 解决方式重新执行 git add . 后再 git commit• 经验总结大规模移动目录后先 git status --short 确认变更已入暂存区再提交。6) 推送被拒绝远程领先• 报错现象[rejected] main - main (fetch first)• 出现时机本地提交后直接 push• 根因远程 main 有新提交本地落后• 解决方式• git pull --rebase origin main• git push• 经验总结协作场景下优先 rebase 同步减少无意义 merge commit。7) 大文件告警非阻断• 告警现象File cloudflared.exe is 62.80 MB; larger than GitHubs recommended 50 MB• 出现时机push 时• 根因将较大的二进制文件直接纳入 Git• 解决方式当前可推送但收到警告• 长期优化改用 Git LFS 或从仓库移除二进制配合 .gitignore• 经验总结仓库尽量只存源码和必要配置避免可执行文件入库。
餐厅管理系统项目总结
在项目迭代中先后解决了 Git 初始化缺失、PowerShell 与 bash 语法差异、首次合并冲突、目录重构后暂存遗漏、远程分支领先导致推送拒绝以及大文件入库告警等问题通过标准化 Git 流程status→add→commit→pull --rebase→push与仓库治理策略.gitignore/LFS提升了协作稳定性与仓库可维护性。项目过程报错复盘按阶段1) Git 初始化阶段• 报错现象fatal: not a git repository (or any of the parent directories): .git• 出现时机在项目目录直接执行 git status 时• 根因当前目录还没执行 git init• 解决方式初始化仓库后再提交• git init -b main• git add .• git commit -m ...• 经验总结新项目第一步先确认 .git 是否存在避免后续命令连锁失败。2) PowerShell 命令兼容问题脚本语法• 报错现象The token is not a valid statement separator in this version.• 出现时机在 PowerShell 中使用 cmd/bash 风格的 链式命令• 根因PowerShell 版本/语法与 bash 不一致• 解决方式改成 PowerShell 兼容写法; $LASTEXITCODE 判断• 经验总结Windows 环境下命令示例尽量区分 bash / PowerShell 两套写法。3) 提交信息 HEREDOC 在 PowerShell 失败• 报错现象Missing file specification after redirection operator.由 EOF 引发• 出现时机尝试用 bash 风格 heredoc 传递 commit message• 根因EOF 是 bash 语法PowerShell 不支持• 解决方式改用 PowerShell here-string ... • 经验总结跨平台自动化时文本拼接/多行参数要按 shell 方言处理。4) 首次拉取远程出现合并冲突• 报错现象CONFLICT (add/add): Merge conflict in README.md• 出现时机本地初次与远程 main 合并pull --allow-unrelated-histories• 根因本地和远程都新增了 README.md内容不同• 解决方式手动编辑冲突标记 保留目标内容后重新提交• 经验总结第一次接远程仓库时优先检查 README、.gitignore、入口文件是否重叠创建。5) 提交失败文件未暂存• 报错现象no changes added to commit (use git add and/or git commit -a)• 出现时机目录重构后直接 commit• 根因移动产生的大量变更未正确暂存• 解决方式重新执行 git add . 后再 git commit• 经验总结大规模移动目录后先 git status --short 确认变更已入暂存区再提交。6) 推送被拒绝远程领先• 报错现象[rejected] main - main (fetch first)• 出现时机本地提交后直接 push• 根因远程 main 有新提交本地落后• 解决方式• git pull --rebase origin main• git push• 经验总结协作场景下优先 rebase 同步减少无意义 merge commit。7) 大文件告警非阻断• 告警现象File cloudflared.exe is 62.80 MB; larger than GitHubs recommended 50 MB• 出现时机push 时• 根因将较大的二进制文件直接纳入 Git• 解决方式当前可推送但收到警告• 长期优化改用 Git LFS 或从仓库移除二进制配合 .gitignore• 经验总结仓库尽量只存源码和必要配置避免可执行文件入库。