# Git 约定 仓库已有 `origin` 和 `dev` 的远程跟踪配置,继续沿用;作者身份沿用本机原有配置。不要将测试包、运行存档或本机配置提交到仓库。 - `.gitignore` 排除编译目录、IDE 缓存、`artifacts/`、上游审计副本、运行数据、备份、登录凭据、证书、日志和测试输出。 - `Client/XFEWarframe.Client/Runtime/` 是 C# 源码,明确保留;WinUI 的 `Profiles/` 下也是源码,不能整目录忽略。 - `Server/data/`、翻译字典、项目与调试配置是构建所需资源,正常跟踪。 - `.gitattributes` 约定源码使用 LF、Windows `.cmd`/`.bat` 使用 CRLF、图片和压缩包按二进制处理。`.editorconfig` 提供相同的编辑器换行约定。 - 本机仓库配置 `core.autocrlf=false`,以 `.gitattributes` 为准;`core.safecrlf=warn` 保留换行检查,`core.longpaths=true` 支持 Windows 长路径,`fetch.prune=true` 清理失效远程跟踪分支,`push.default=simple` 推送当前对应分支。 提交前可运行: ```powershell ./scripts/Check-Git.ps1 git status --short git diff --stat ``` 检查脚本不暂存、不提交、不推送,也不读取或输出令牌。它验证敏感/生成目录确实被忽略、必要源码不会被误忽略、没有已跟踪的忽略文件,以及修改的空白格式。 本地 `.git/config` 不会随克隆复制。另一台机器可以按上述约定自行设置仓库级选项;不要覆盖该机器已有的作者或远程地址。`.gitignore` 不会自动取消已跟踪文件;若以后发现误提交的密钥,应先撤销密钥,再处理 Git 历史。