发布分支需要只摘取主分支上某一个修复时,git cherry-pick 的正确用法和冲突来源是什么?
发布分支需要只摘取主分支上某一个修复时,git cherry-pick 的正确用法和冲突来源是什么? 本文先给出可直接复述的结论,再用最小代码说明git cherry-pick 发布分支挑拣提交的工作方式、判断依据、项目边界和常见误区。
工程协作与交付专题面试题第 1 页,显示第 1–48 题,共找到 48 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
发布分支需要只摘取主分支上某一个修复时,git cherry-pick 的正确用法和冲突来源是什么? 本文先给出可直接复述的结论,再用最小代码说明git cherry-pick 发布分支挑拣提交的工作方式、判断依据、项目边界和常见误区。
CI 中复用 Git 对象缓存(如复用 .git 目录或引用镜像)能省什么,过期引用会带来什么风险? 本文先给出可直接复述的结论,再用最小代码说明CI git 对象缓存 引用镜像风险的工作方式、判断依据、项目边界和常见误区。
超大型前端 monorepo 中 git log/status 变慢,commit-graph 文件如何加速历史遍历? 本文先给出可直接复述的结论,再用最小代码说明git commit-graph 大仓库 性能的工作方式、判断依据、项目边界和常见误区。
用 commit-msg 钩子校验 Conventional Commits 格式,能为前端发版自动化带来什么? 本文先给出可直接复述的结论,再用最小代码说明commit-msg 钩子 Conventional Commits 校验的工作方式、判断依据、项目边界和常见误区。
CI 检出具体提交构建时处于 detached HEAD 状态,这对构建和回写版本号有什么影响? 本文先给出可直接复述的结论,再用最小代码说明detached HEAD CI 检出提交的工作方式、判断依据、项目边界和常见误区。
前端特性分支(feature branch)存活多久算过长,如何用 Git 手段缩短集成周期? 本文先给出可直接复述的结论,再用最小代码说明feature 分支生命周期 长期分支风险的工作方式、判断依据、项目边界和常见误区。
个人特性分支整理历史后必须强推时,git push --force-with-lease 比 --force 安全在哪? 本文先给出可直接复述的结论,再用最小代码说明git push --force-with-lease 安全强推的工作方式、判断依据、项目边界和常见误区。
git fsck 报告的 dangling commit 是什么,前端仓库出现大量悬空对象说明什么? 本文先给出可直接复述的结论,再用最小代码说明git fsck dangling commit 悬空对象的工作方式、判断依据、项目边界和常见误区。
前端仓库长期演进后本地 .git 体积膨胀,git gc 与 git prune 分别回收什么? 本文先给出可直接复述的结论,再用最小代码说明git gc prune 仓库体积回收的工作方式、判断依据、项目边界和常见误区。
用 git archive 从某个 tag 打源码包作为交付物时,它与 clone 整个仓库相比少了什么? 本文先给出可直接复述的结论,再用最小代码说明git archive 打源码包 发布交付的工作方式、判断依据、项目边界和常见误区。
前端线上回归无法直接定位时,如何用 git bisect 二分查找引入问题的提交? 本文先给出可直接复述的结论,再用最小代码说明git bisect 二分定位回归提交的工作方式、判断依据、项目边界和常见误区。
追查前端某段代码是谁、在哪次提交改动时,git blame 与 git log --follow 各回答什么问题? 本文先给出可直接复述的结论,再用最小代码说明git blame 与 git log --follow 追溯差异的工作方式、判断依据、项目边界和常见误区。
需要把前端仓库交付给无法访问远程的隔离环境时,git bundle 如何打包仓库并支持增量? 本文先给出可直接复述的结论,再用最小代码说明git bundle 离线交付 增量打包的工作方式、判断依据、项目边界和常见误区。
如何用 git clean 安全清除前端工作区未跟踪的构建产物,又不误删刚写的新文件? 本文先给出可直接复述的结论,再用最小代码说明git clean 清除未跟踪文件 安全用法的工作方式、判断依据、项目边界和常见误区。
前端团队选择 Git Flow 还是 Trunk-Based Development 的分支模型,判断依据是什么? 本文先给出可直接复述的结论,再用最小代码说明Git Flow 与 Trunk-Based 分支模型选择的工作方式、判断依据、项目边界和常见误区。
如何只查看 monorepo 中某个前端包目录的提交历史,避免被无关包提交淹没? 本文先给出可直接复述的结论,再用最小代码说明git log 按路径过滤 monorepo 包历史的工作方式、判断依据、项目边界和常见误区。
前端发版打 tag 应该用附注标签(annotated)还是轻量标签,为什么? 本文先给出可直接复述的结论,再用最小代码说明git tag 附注标签 轻量标签 发版的工作方式、判断依据、项目边界和常见误区。
同时修线上 bug 和开发新特性时,git worktree 相比多次 clone 或 stash 有什么优势? 本文先给出可直接复述的结论,再用最小代码说明git worktree 多工作区 并行分支的工作方式、判断依据、项目边界和常见误区。
Windows 与 macOS 协作者混用前端仓库时,如何用 .gitattributes 根治换行符(CRLF/LF)抖动? 本文先给出可直接复述的结论,再用最小代码说明.gitattributes eol CRLF LF 跨平台的工作方式、判断依据、项目边界和常见误区。
如何用 .gitattributes 的 export-ignore 让 git archive 交付包排除测试与工程配置文件? 本文先给出可直接复述的结论,再用最小代码说明export-ignore gitattributes 交付包精简的工作方式、判断依据、项目边界和常见误区。
如何用 .gitattributes 的 merge 驱动标记让锁文件冲突时走二进制或并集策略? 本文先给出可直接复述的结论,再用最小代码说明.gitattributes merge driver 锁文件冲突的工作方式、判断依据、项目边界和常见误区。
前端仓库里 .gitignore 该管哪些产物,个人编辑器文件应放仓库级还是全局 ignore? 本文先给出可直接复述的结论,再用最小代码说明.gitignore 仓库级 全局 core.excludesFile的工作方式、判断依据、项目边界和常见误区。
线上版本需要热修但主分支已混入新特性时,如何基于发版 tag 切出 hotfix 分支? 本文先给出可直接复述的结论,再用最小代码说明基于 tag 切 hotfix 分支 灰度回滚的工作方式、判断依据、项目边界和常见误区。
如何用 .gitattributes 标记构建产物文件,避免它们干扰 diff 与代码统计? 本文先给出可直接复述的结论,再用最小代码说明.gitattributes linguist-generated diff 产物标记的工作方式、判断依据、项目边界和常见误区。
本文对比 monorepo 与 git submodule 在跨包变更原子性、指针同步、克隆与协作上的工程代价,给出具体场景和判断依据。
前端 monorepo 克隆过慢时,git clone --depth 浅克隆解决了什么、在 CI 里有什么坑? 本文先给出可直接复述的结论,再用最小代码说明git shallow clone 浅克隆 CI 大仓库的工作方式、判断依据、项目边界和常见误区。
monorepo 中多个前端包独立发版时,tag 命名为什么必须包含包名,例如 pkg-a@1.2.0? 本文先给出可直接复述的结论,再用最小代码说明monorepo tag 命名 包名前缀 独立版本的工作方式、判断依据、项目边界和常见误区。
git clone --filter=blob:none 部分克隆在超大型前端仓库中如何减少体积、代价是什么? 本文先给出可直接复述的结论,再用最小代码说明git partial clone --filter=blob:none 大仓库的工作方式、判断依据、项目边界和常见误区。
前端仓库用 Git 钩子(hooks)做提交前检查,为什么 .git/hooks 不能随仓库分发,工程上怎么解决? 本文先给出可直接复述的结论,再用最小代码说明git hooks 无法入库 分发方案的工作方式、判断依据、项目边界和常见误区。
哪些前端质量检查适合放 pre-push 钩子,哪些必须留给 CI,划分依据是什么? 本文先给出可直接复述的结论,再用最小代码说明pre-push 钩子 与 CI 职责边界的工作方式、判断依据、项目边界和常见误区。
为什么前端主分支要禁止 force push,从 Git 机制上说明它破坏了什么? 本文先给出可直接复述的结论,再用最小代码说明禁止 force push 保护分支 原因的工作方式、判断依据、项目边界和常见误区。
git pull 默认产生合并提交使前端仓库历史杂乱,如何用 pull --rebase 或配置保持线性? 本文先给出可直接复述的结论,再用最小代码说明git pull --rebase 线性历史 配置的工作方式、判断依据、项目边界和常见误区。
前端仓库误提交了大体积产物导致克隆缓慢,怎样从历史中彻底移除该文件? 本文先给出可直接复述的结论,再用最小代码说明git 历史删除大文件 filter-branch的工作方式、判断依据、项目边界和常见误区。
前端仓库主分支要求线性历史时,git rebase 与 git merge 该选哪个,代价是什么? 本文先给出可直接复述的结论,再用最小代码说明git rebase 与 merge 线性历史取舍的工作方式、判断依据、项目边界和常见误区。
误 git reset --hard 丢失了未推送的前端提交,如何用 git reflog 找回? 本文先给出可直接复述的结论,再用最小代码说明git reflog 找回丢失提交的工作方式、判断依据、项目边界和常见误区。
git reset 的 --soft、--mixed、--hard 分别把暂存区和工作区重置成什么状态,前端误提交时怎么选? 本文先给出可直接复述的结论,再用最小代码说明git reset 三种模式 区别的工作方式、判断依据、项目边界和常见误区。
已发布到远程的错误提交应该用 git revert 还是 git reset 撤销,判断标准是什么? 本文先给出可直接复述的结论,再用最小代码说明git revert 与 reset 撤销已发布提交的工作方式、判断依据、项目边界和常见误区。
回滚一次已合并的特性分支(merge commit)用 git revert -m 时,-m 参数的意义和后续再合并的坑是什么? 本文先给出可直接复述的结论,再用最小代码说明git revert -m 回滚合并提交 再次合并问题的工作方式、判断依据、项目边界和常见误区。
如何用 git describe 基于最近标签生成前端包的预发布版本号? 本文先给出可直接复述的结论,再用最小代码说明git describe 生成版本号 预发布的工作方式、判断依据、项目边界和常见误区。
客户端钩子可以被 --no-verify 绕过,如何用服务端钩子(pre-receive)强制前端仓库的提交规范? 本文先给出可直接复述的结论,再用最小代码说明pre-receive 服务端钩子 强制规范的工作方式、判断依据、项目边界和常见误区。
前端发版为什么建议用 GPG 签名 tag(git tag -s),它保证和不保证什么? 本文先给出可直接复述的结论,再用最小代码说明git tag -s GPG 签名 发版完整性的工作方式、判断依据、项目边界和常见误区。
git sparse-checkout 如何让开发者只检出 monorepo 中自己负责的前端子目录? 本文先给出可直接复述的结论,再用最小代码说明git sparse-checkout monorepo 部分检出的工作方式、判断依据、项目边界和常见误区。
前端仓库合并 PR 时用 squash merge 压缩提交,对 git bisect 和回溯定位有什么影响? 本文先给出可直接复述的结论,再用最小代码说明squash merge 压缩提交 对 bisect 的影响的工作方式、判断依据、项目边界和常见误区。
git stash 默认不保存新建的未跟踪文件,前端新增组件文件时如何避免 stash 后丢失? 本文先给出可直接复述的结论,再用最小代码说明git stash -u 未跟踪文件的工作方式、判断依据、项目边界和常见误区。
临时切换分支处理紧急问题时,git stash 与提交 WIP 提交两种方式各有什么适用边界? 本文先给出可直接复述的结论,再用最小代码说明git stash 与 WIP 提交 取舍的工作方式、判断依据、项目边界和常见误区。
误把 dist 产物提交进 Git 后,加入 .gitignore 为何不生效,如何正确停止跟踪? 本文先给出可直接复述的结论,再用最小代码说明git 停止跟踪已提交文件 git rm --cached的工作方式、判断依据、项目边界和常见误区。
主仓库的 git submodule 指针落后或超前于预期提交时,如何诊断和修复? 本文先给出可直接复述的结论,再用最小代码说明git submodule 指针不同步 诊断的工作方式、判断依据、项目边界和常见误区。
为什么已推送到共享远程的提交不能再 git rebase,违反了会出现什么现象? 本文先给出可直接复述的结论,再用最小代码说明git rebase 公共提交 重写历史风险的工作方式、判断依据、项目边界和常见误区。