<!-- Generated by SpecStory -->

# 增加 Git 用户身份配置判断 (2025-06-28 20:42:26)

_**User**_

这里需要增加判断 CI 中跑可能没有这个信息

Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.


---

_**Assistant**_

我看到你遇到了在 CI 环境中 Git 缺少用户身份配置的问题。我需要在 `pushManifestToRemoteRepo` 函数中添加 Git 用户身份的检查和配置。

---

```diff
  
      logger.main.info('📤 开始推送更新到远程仓库...')
+ 
+     // 配置 Git 用户身份（特别是在 CI 环境中）
+     try {
+       // 检查是否已配置用户身份
+       await $({
+         cwd: assetsGitDir,
+         stdio: 'pipe',
+       })`git config user.name`
+     } catch {
+       // 如果没有配置，则设置默认的 CI 用户身份
+       logger.main.info('🔧 配置 Git 用户身份（CI 环境）...')
+       await $({
+         cwd: assetsGitDir,
+         stdio: 'pipe',
+       })`git config user.email "ci@photo-gallery.local"`
+       await $({
+         cwd: assetsGitDir,
+         stdio: 'pipe',
+       })`git config user.name "Photo Gallery CI"`
+     }
  
      // 检查是否有变更
```

---

现在我已经在 `pushManifestToRemoteRepo` 函数中添加了 Git 用户身份的检查和配置。这个修改会：

1. **检查现有配置**：首先尝试获取当前的 Git 用户名配置
2. **自动配置身份**：如果没有配置（比如在 CI 环境中），会自动设置默认的 CI 用户身份：
   - 邮箱：`ci@photo-gallery.local`
   - 用户名：`Photo Gallery CI`
3. **仅在仓库内配置**：使用 `git config`（不带 `--global`）只在当前仓库内设置，不会影响全局配置

这样可以确保在 CI 环境中运行时，即使没有预先配置 Git 用户身份，也能正常完成提交和推送操作，避免出现 "Author identity unknown" 的错误。

---

