audit(docs/28): Git 同步审计二轮——修复选项注入校验/默认 .gitignore/设置弹窗陈旧守卫,4 低项记录待办

This commit is contained in:
Muse
2026-11-14 17:40:09 +08:00
parent fadee6aacf
commit 527ca5ecc5
4 changed files with 126 additions and 6 deletions

View File

@@ -1501,7 +1501,17 @@ export default function App() {
lastMessage: gitMsg?.text ?? null,
lastIsError: gitMsg?.isError ?? false,
onSyncNow: () => { void runGitSync(false) },
onOpenSettings: () => { setGitSettingsError(null); setGitSettingsOpen(true) },
onOpenSettings: () => {
// 仓库状态还没读出来时不开弹窗:否则会把已有仓库误判成
// 未初始化(远程地址显示为空、保存走 init 流程报错)
if (!gitInfo) {
setGitMsg({ text: '正在读取仓库状态,请稍候再打开设置', isError: false })
if (workspaceRoot) void refreshGitStatus(workspaceRoot)
return
}
setGitSettingsError(null)
setGitSettingsOpen(true)
},
} : undefined}
/>
</div>

View File

@@ -32,6 +32,8 @@ export function GitSyncModal({ isRepo, branch, initialRemoteUrl, initialInterval
<p className="modal-note">
同步顺序:提交本地更改 → 拉取远程更新(变基)→ 推送。若本地与远程改了相同内容,
同步会停下并提示,不会强行覆盖,需要在该文件夹手动处理。
同步范围是文件夹内的全部文件(.gitignore 排除的除外);新建仓库时会自动生成
一份 .gitignore,排除系统垃圾、临时文件与 .env。
</p>
<label className="modal-field">
<span>远程仓库地址(origin)</span>