软件工程 选择题 较难 ★ 精品

版本控制与构建过程的集成 — 软件工程选择题

软件构建 构建与集成 AI 三重审校通过

题目
某项目使用 Git 子模块:主仓库 M 的提交 m 把子模块 S 锁定在提交 s1。CI 脚本先执行 git submodule update --init,随后执行 cd S && git fetch && git checkout main,再运行构建。若 S 的 main 当前指向 s2,且 s2≠s1,则关于本次构建与版本控制的集成,下列判断正确的是: A. 构建实际使用 s2,产物若标记为 m 则无法由 m 唯一重建 B. 构建实际使用 s1,产物与 m 完全对应 C. 构建实际使用 s2,但 m 仍能唯一确定 s2 D. 构建实际使用 s1,因为子模块指针会覆盖 main