{"site":"GitOrg Atlas","url":"https://www.gitorg.xyz","description":"Bilingual Git learning content index for search engines, AI retrieval, and citation-aware discovery.","generatedAt":"2026-05-24T11:47:06.661Z","machineReadableResources":{"llms":"https://www.gitorg.xyz/llms.txt","llmsFull":"https://www.gitorg.xyz/llms-full.txt","sitemap":"https://www.gitorg.xyz/sitemap.xml"},"locales":[{"locale":"zh","count":224,"entries":[{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-ignore","path":"concepts/git-ignore","tier":"extended","learningResourceType":"Concept guide","title":".gitignore 完整指南","summary":"系统解释 .gitignore 规则语法、优先级、通配符、全局配置，以及如何排除不该提交的文件。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-ignore","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-ignore","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/gitignore","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"ai-agent-worktree-mode","path":"workflows/ai-agent-worktree-mode","tier":"recommended","learningResourceType":"Workflow tutorial","title":"AI Coding Agent 下的 git worktree 模式","summary":"把 git worktree 变成 AI coding agent 的默认并行工作模式，减少上下文污染、提升回滚安全性，并让多任务协作更清晰。","url":"https://www.gitorg.xyz/zh/workflows/ai-agent-worktree-mode","alternateUrl":"https://www.gitorg.xyz/en/workflows/ai-agent-worktree-mode","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"api-versioning-change-workflow","path":"workflows/api-versioning-change-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"API 版本变更工作流","summary":"对外 API 发生破坏性变更时，通过并行版本、弃用窗口和迁移治理降低客户端升级成本与兼容事故。","url":"https://www.gitorg.xyz/zh/workflows/api-versioning-change-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/api-versioning-change-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://martinfowler.com/articles/enterpriseREST.html","https://opensource.zalando.com/restful-api-guidelines/#must-use-semantic-versioning","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"blob-objects-and-content-addressing","path":"internals/blob-objects-and-content-addressing","tier":"extended","learningResourceType":"Technical explainer","title":"Blob 对象与内容寻址教程","summary":"解释 blob 如何只按内容存储，以及哈希为什么成为对象身份。","url":"https://www.gitorg.xyz/zh/internals/blob-objects-and-content-addressing","alternateUrl":"https://www.gitorg.xyz/en/internals/blob-objects-and-content-addressing","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"canary-release-workflow","path":"workflows/canary-release-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Canary 发布工作流","summary":"通过小流量金丝雀发布逐步验证线上行为，在全量放量前提前暴露风险并降低事故半径。","url":"https://www.gitorg.xyz/zh/workflows/canary-release-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/canary-release-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://martinfowler.com/bliki/CanaryRelease.html","https://sre.google/workbook/canarying-releases/","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-cherry-pick","path":"recovery/recover-after-cherry-pick","tier":"extended","learningResourceType":"Troubleshooting guide","title":"cherry-pick 冲突或出错后怎么恢复","summary":"cherry-pick 遇到冲突、中止或结果不对时的完整恢复流程，包括 --abort、--continue、--skip 以及 cherry-pick 完成后的补救方法。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-cherry-pick","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-cherry-pick","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-wrong-cherry-pick","path":"recovery/recover-after-wrong-cherry-pick","tier":"extended","learningResourceType":"Troubleshooting guide","title":"cherry-pick 挑错提交后的恢复","summary":"当 cherry-pick 了错误提交或错误顺序后，根据是否已共享分支历史，选择 reset、revert 或重建补丁链恢复正确状态。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-wrong-cherry-pick","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-wrong-cherry-pick","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-revert"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"ci-optimization-with-git","path":"workflows/ci-optimization-with-git","tier":"extended","learningResourceType":"Workflow tutorial","title":"CI/CD 中的 Git 优化","summary":"CI/CD 中的 Git 优化策略：浅克隆、缓存、partial clone、只拉变更，以及 GitHub Actions / GitLab CI 中的具体配置。","url":"https://www.gitorg.xyz/zh/workflows/ci-optimization-with-git","alternateUrl":"https://www.gitorg.xyz/en/workflows/ci-optimization-with-git","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"code-freeze-and-release-candidate-workflow","path":"workflows/code-freeze-and-release-candidate-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Code Freeze 与 Release Candidate 工作流","summary":"在发布前通过代码冻结与 RC 候选流程收敛变更范围，让问题暴露在发布前而不是发布后。","url":"https://www.gitorg.xyz/zh/workflows/code-freeze-and-release-candidate-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/code-freeze-and-release-candidate-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-tag","https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-cherry-pick"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"fix-detached-head-accidentally-committed","path":"recovery/fix-detached-head-accidentally-committed","tier":"extended","learningResourceType":"Troubleshooting guide","title":"detached HEAD 上提交了怎么接回分支","summary":"在 detached HEAD 状态下做了提交后，如何正确接回分支。包括创建新分支、合并到已有分支、预防措施。","url":"https://www.gitorg.xyz/zh/recovery/fix-detached-head-accidentally-committed","alternateUrl":"https://www.gitorg.xyz/en/recovery/fix-detached-head-accidentally-committed","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-checkout","https://git-scm.com/book/en/v2/Git-Branching-Advanced-Branching"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"detached-head-rescue","path":"recovery/detached-head-rescue","tier":"core","learningResourceType":"Troubleshooting guide","title":"detached HEAD 状态下如何自救","summary":"detached HEAD 本身不是错误，真正的风险是你在这个状态下产生了值得保留的提交却没有立刻接住它们。","url":"https://www.gitorg.xyz/zh/recovery/detached-head-rescue","alternateUrl":"https://www.gitorg.xyz/en/recovery/detached-head-rescue","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-checkout","https://git-scm.com/docs/git-reflog"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"detached-head","path":"concepts/detached-head","tier":"extended","learningResourceType":"Concept guide","title":"Detached HEAD 状态详解","summary":"解释什么是 detached HEAD、为什么会进入该状态，以及如何安全地退出 detached HEAD 并保留工作成果。","url":"https://www.gitorg.xyz/zh/docs/concepts/detached-head","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/detached-head","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"feature-flag-rollout-workflow","path":"workflows/feature-flag-rollout-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Feature Flag 渐进发布工作流","summary":"把代码合并与功能放量解耦，利用 feature flag 分阶段上线与回滚，降低大功能一次性发布风险。","url":"https://www.gitorg.xyz/zh/workflows/feature-flag-rollout-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/feature-flag-rollout-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://martinfowler.com/articles/feature-toggles.html","https://git-scm.com/docs/git-revert","https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"fetch-vs-pull","path":"workflows/fetch-vs-pull","tier":"core","learningResourceType":"Workflow tutorial","title":"fetch 与 pull 的区别","summary":"解释为什么先 fetch 再决定 merge 或 rebase，往往比直接 pull 更可控。","url":"https://www.gitorg.xyz/zh/workflows/fetch-vs-pull","alternateUrl":"https://www.gitorg.xyz/en/workflows/fetch-vs-pull","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-pull.html","https://git-scm.com/docs/git-fetch.html"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"assess-force-push-impact","path":"recovery/assess-force-push-impact","tier":"recommended","learningResourceType":"Troubleshooting guide","title":"force push 之后怎么判断影响范围","summary":"force push 之后，真正关键的不是立刻再推一次，而是先判断哪些引用被覆盖、哪些同事可能已基于旧历史继续工作，以及恢复窗口还有多大。","url":"https://www.gitorg.xyz/zh/recovery/assess-force-push-impact","alternateUrl":"https://www.gitorg.xyz/en/recovery/assess-force-push-impact","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"fork-upstream-sync","path":"workflows/fork-upstream-sync","tier":"extended","learningResourceType":"Workflow tutorial","title":"Fork 与上游同步教程","summary":"在 fork 模式协作中维持 origin 与 upstream 的清晰边界，稳定同步上游更新，并把自己的改动安全推回个人 fork。","url":"https://www.gitorg.xyz/zh/workflows/fork-upstream-sync","alternateUrl":"https://www.gitorg.xyz/en/workflows/fork-upstream-sync","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-remote"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"forks-and-open-source-contribution","path":"github/forks-and-open-source-contribution","tier":"extended","learningResourceType":"Platform tutorial","title":"Fork 与开源贡献教程","summary":"把 fork、upstream、issue、贡献规范和 Pull Request 贡献节奏串成一条更真实的开源协作路径。","url":"https://www.gitorg.xyz/zh/github/forks-and-open-source-contribution","alternateUrl":"https://www.gitorg.xyz/en/github/forks-and-open-source-contribution","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-open-source","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-add","path":"commands/git-add","tier":"core","learningResourceType":"Reference guide","title":"git add 教程","summary":"说明 git add 如何把工作区改动加入暂存区、如何用 patch 精细暂存，以及怎样避免把不相关改动混进同一次提交。","url":"https://www.gitorg.xyz/zh/commands/git-add","alternateUrl":"https://www.gitorg.xyz/en/commands/git-add","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-add","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-attributes","path":"concepts/git-attributes","tier":"extended","learningResourceType":"Concept guide","title":"Git Attributes 详解","summary":"解释 .gitattributes 文件的用途、语法和常见应用场景，包括行尾符、合并策略、差异比较、语言识别和大文件处理。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-attributes","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-attributes","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/gitattributes","https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-bisect","path":"commands/git-bisect","tier":"recommended","learningResourceType":"Reference guide","title":"git bisect","summary":"通过二分法定位引入 bug 的提交，是排查回归问题时最有价值的高级命令之一。","url":"https://www.gitorg.xyz/zh/commands/git-bisect","alternateUrl":"https://www.gitorg.xyz/en/commands/git-bisect","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-bisect","https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-blame","path":"commands/git-blame","tier":"recommended","learningResourceType":"Reference guide","title":"git blame","summary":"定位某一行代码最后由哪个提交引入或修改，适合排查行为来源和上下文。","url":"https://www.gitorg.xyz/zh/commands/git-blame","alternateUrl":"https://www.gitorg.xyz/en/commands/git-blame","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-blame","https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-branch","path":"commands/git-branch","tier":"core","learningResourceType":"Reference guide","title":"git branch 教程","summary":"系统说明 git branch 如何查看、创建、重命名和删除分支，以及它与远端跟踪分支的关系。","url":"https://www.gitorg.xyz/zh/commands/git-branch","alternateUrl":"https://www.gitorg.xyz/en/commands/git-branch","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-checkout","path":"commands/git-checkout","tier":"recommended","learningResourceType":"Reference guide","title":"git checkout 教程","summary":"说明 git checkout 作为旧式多用途命令的两大职责，以及它与 switch、restore 的现代分工。","url":"https://www.gitorg.xyz/zh/commands/git-checkout","alternateUrl":"https://www.gitorg.xyz/en/commands/git-checkout","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-checkout","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-cherry-pick","path":"commands/git-cherry-pick","tier":"core","learningResourceType":"Reference guide","title":"git cherry-pick 教程","summary":"解释如何把某个提交的改动拣选到当前分支，以及 cherry-pick 的典型适用边界。","url":"https://www.gitorg.xyz/zh/commands/git-cherry-pick","alternateUrl":"https://www.gitorg.xyz/en/commands/git-cherry-pick","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick.html","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-clean","path":"commands/git-clean","tier":"recommended","learningResourceType":"Reference guide","title":"git clean 教程","summary":"解释 git clean 如何删除未跟踪文件和目录，以及为什么 dry-run 和 force 标志在这里非常重要。","url":"https://www.gitorg.xyz/zh/commands/git-clean","alternateUrl":"https://www.gitorg.xyz/en/commands/git-clean","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-clean","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-clone","path":"commands/git-clone","tier":"core","learningResourceType":"Reference guide","title":"git clone 教程","summary":"说明 git clone 如何复制仓库、默认远端 origin 的作用，以及克隆后本地分支与远端分支的基本关系。","url":"https://www.gitorg.xyz/zh/commands/git-clone","alternateUrl":"https://www.gitorg.xyz/en/commands/git-clone","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-commit","path":"commands/git-commit","tier":"core","learningResourceType":"Reference guide","title":"git commit 教程","summary":"解释 git commit 如何生成新的历史节点、怎样写出更有价值的提交信息，以及 amend 适合和不适合的边界。","url":"https://www.gitorg.xyz/zh/commands/git-commit","alternateUrl":"https://www.gitorg.xyz/en/commands/git-commit","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-diff","path":"commands/git-diff","tier":"recommended","learningResourceType":"Reference guide","title":"git diff 教程","summary":"讲清 git diff 如何比较工作区、暂存区和提交状态，如何正确选择比较范围，以及怎样避免看错层级。","url":"https://www.gitorg.xyz/zh/commands/git-diff","alternateUrl":"https://www.gitorg.xyz/en/commands/git-diff","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-diff","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-fetch","path":"commands/git-fetch","tier":"core","learningResourceType":"Reference guide","title":"git fetch 教程","summary":"解释 git fetch 如何更新远端引用、为何它比 pull 更可控，以及它在日常同步中的最佳位置。","url":"https://www.gitorg.xyz/zh/commands/git-fetch","alternateUrl":"https://www.gitorg.xyz/en/commands/git-fetch","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-hooks","path":"concepts/git-hooks","tier":"extended","learningResourceType":"Concept guide","title":"Git Hooks 完全指南","summary":"详细解释 Git Hooks 的工作机制、客户端与服务端钩子、常见应用场景，以及如何使用 Husky 等工具管理 Hooks。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-hooks","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-hooks","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/githooks","https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-init","path":"commands/git-init","tier":"core","learningResourceType":"Reference guide","title":"git init 教程","summary":"解释 git init 如何初始化仓库、默认分支如何产生，以及它在新项目和已有目录中的常见用法。","url":"https://www.gitorg.xyz/zh/commands/git-init","alternateUrl":"https://www.gitorg.xyz/en/commands/git-init","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-init","https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-lfs","path":"concepts/git-lfs","tier":"extended","learningResourceType":"Concept guide","title":"Git LFS 大文件存储","summary":"解释 Git LFS 的工作原理、安装配置、追踪文件类型、迁移已有大文件，以及 LFS 的常见问题和最佳实践。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-lfs","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-lfs","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-lfs.com/","https://github.com/git-lfs/git-lfs/wiki/Tutorial","https://git-scm.com/book/en/v2/Git-Tools-Git-LFS"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-log","path":"commands/git-log","tier":"core","learningResourceType":"Reference guide","title":"git log 教程","summary":"说明 git log 如何查看提交历史、分支图结构、作者和范围过滤，并把它真正用到评审、同步和恢复判断中。","url":"https://www.gitorg.xyz/zh/commands/git-log","alternateUrl":"https://www.gitorg.xyz/en/commands/git-log","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-log","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-merge","path":"commands/git-merge","tier":"core","learningResourceType":"Reference guide","title":"git merge 教程","summary":"解释 git merge 的核心作用、fast-forward 与 merge commit 的区别，以及冲突处理策略。","url":"https://www.gitorg.xyz/zh/commands/git-merge","alternateUrl":"https://www.gitorg.xyz/en/commands/git-merge","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-merge.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.html"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"merge-strategies","path":"concepts/merge-strategies","tier":"extended","learningResourceType":"Concept guide","title":"Git Merge 策略详解","summary":"系统介绍 Git 的合并策略——recursive、ort、octopus、ours、subtree——它们分别解决什么问题，以及如何选择。","url":"https://www.gitorg.xyz/zh/docs/concepts/merge-strategies","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/merge-strategies","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/merge-strategies","https://git-scm.com/docs/git-merge","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-mv","path":"commands/git-mv","tier":"extended","learningResourceType":"Reference guide","title":"git mv","summary":"用于重命名或移动已跟踪文件，帮助你把文件系统变化和暂存区状态一次保持一致。","url":"https://www.gitorg.xyz/zh/commands/git-mv","alternateUrl":"https://www.gitorg.xyz/en/commands/git-mv","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-mv","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"packfiles-and-storage","path":"internals/packfiles-and-storage","tier":"recommended","learningResourceType":"Technical explainer","title":"Git Packfiles 与对象存储","summary":"理解 Git 如何通过 packfiles、压缩和对象复用来高效存储与传输历史，而不是简单复制整份仓库。","url":"https://www.gitorg.xyz/zh/internals/packfiles-and-storage","alternateUrl":"https://www.gitorg.xyz/en/internals/packfiles-and-storage","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Packfiles","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-pull","path":"commands/git-pull","tier":"core","learningResourceType":"Reference guide","title":"git pull 教程","summary":"解释 git pull 是 fetch 加整合的组合动作，什么时候 pull 很方便，什么时候 fetch-first 更稳，以及 rebase / ff-only 会怎样改变结果。","url":"https://www.gitorg.xyz/zh/commands/git-pull","alternateUrl":"https://www.gitorg.xyz/en/commands/git-pull","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-pull","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-push","path":"commands/git-push","tier":"core","learningResourceType":"Reference guide","title":"git push 教程","summary":"说明 git push 如何发布本地分支、建立上游跟踪关系，以及怎样判断一次 push 是安全发布还是高风险改写。","url":"https://www.gitorg.xyz/zh/commands/git-push","alternateUrl":"https://www.gitorg.xyz/en/commands/git-push","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-rebase","path":"commands/git-rebase","tier":"core","learningResourceType":"Reference guide","title":"git rebase 教程","summary":"解释 git rebase 的核心模型、推荐流程、风险边界和恢复办法。","url":"https://www.gitorg.xyz/zh/commands/git-rebase","alternateUrl":"https://www.gitorg.xyz/en/commands/git-rebase","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-rebase.html","https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-pull.html"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-reflog","path":"commands/git-reflog","tier":"core","learningResourceType":"Reference guide","title":"git reflog","summary":"查看引用移动历史，是 reset、rebase、误删分支等恢复场景里最常用的自救命令之一。","url":"https://www.gitorg.xyz/zh/commands/git-reflog","alternateUrl":"https://www.gitorg.xyz/en/commands/git-reflog","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-remote","path":"commands/git-remote","tier":"recommended","learningResourceType":"Reference guide","title":"git remote 教程","summary":"讲清 git remote 如何查看、添加、修改和删除远端仓库定义，以及 origin 在协作中的典型角色。","url":"https://www.gitorg.xyz/zh/commands/git-remote","alternateUrl":"https://www.gitorg.xyz/en/commands/git-remote","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-remote","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-reset","path":"commands/git-reset","tier":"core","learningResourceType":"Reference guide","title":"git reset 教程","summary":"解释 git reset 如何移动 HEAD、分支和暂存区，并区分 --soft、--mixed、--hard 的影响范围。","url":"https://www.gitorg.xyz/zh/commands/git-reset","alternateUrl":"https://www.gitorg.xyz/en/commands/git-reset","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-reset.html","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified.html"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-restore","path":"commands/git-restore","tier":"core","learningResourceType":"Reference guide","title":"git restore 教程","summary":"说明 git restore 如何恢复工作区和暂存区中的文件状态，以及它和 reset、checkout 的边界。","url":"https://www.gitorg.xyz/zh/commands/git-restore","alternateUrl":"https://www.gitorg.xyz/en/commands/git-restore","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-restore","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-revert","path":"commands/git-revert","tier":"core","learningResourceType":"Reference guide","title":"git revert 教程","summary":"讲清 git revert 为什么适合撤销已共享提交，以及它和 reset 在历史表达上的关键区别。","url":"https://www.gitorg.xyz/zh/commands/git-revert","alternateUrl":"https://www.gitorg.xyz/en/commands/git-revert","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-rm","path":"commands/git-rm","tier":"extended","learningResourceType":"Reference guide","title":"git rm","summary":"删除已跟踪文件并同步到暂存区，理解它有助于区分文件系统删除和 Git 记录删除。","url":"https://www.gitorg.xyz/zh/commands/git-rm","alternateUrl":"https://www.gitorg.xyz/en/commands/git-rm","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-rm","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-show","path":"commands/git-show","tier":"recommended","learningResourceType":"Reference guide","title":"git show","summary":"查看某个提交、标签或对象的详细内容，是把历史节点和对象读清楚的高频命令。","url":"https://www.gitorg.xyz/zh/commands/git-show","alternateUrl":"https://www.gitorg.xyz/en/commands/git-show","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-show","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-stash","path":"commands/git-stash","tier":"core","learningResourceType":"Reference guide","title":"git stash 教程","summary":"解释如何用 git stash 临时保存未提交改动，并在后续恢复、查看和清理 stash 条目。","url":"https://www.gitorg.xyz/zh/commands/git-stash","alternateUrl":"https://www.gitorg.xyz/en/commands/git-stash","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-stash.html","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning.html"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"stash","path":"concepts/stash","tier":"extended","learningResourceType":"Concept guide","title":"Git Stash 概念：临时保存工作上下文","summary":"系统解释 git stash 的概念——它是什么、什么时候用、有什么限制，以及如何安全地管理临时保存的工作上下文。","url":"https://www.gitorg.xyz/zh/docs/concepts/stash","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/stash","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-stash","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-status","path":"commands/git-status","tier":"core","learningResourceType":"Reference guide","title":"git status 教程","summary":"讲清 git status 如何查看工作区、暂存区和分支状态，以及它为什么是日常最应该频繁使用的命令之一。","url":"https://www.gitorg.xyz/zh/commands/git-status","alternateUrl":"https://www.gitorg.xyz/en/commands/git-status","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-status","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-subtree","path":"concepts/git-subtree","tier":"extended","learningResourceType":"Concept guide","title":"Git Subtree 使用指南","summary":"解释 git subtree 的概念、与 submodule 的对比、添加和更新子树的操作，以及子树合并和拆分的高级用法。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-subtree","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-subtree","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-subtree","https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-switch","path":"commands/git-switch","tier":"core","learningResourceType":"Reference guide","title":"git switch 教程","summary":"介绍 git switch 如何负责切换和创建分支，以及它相对 checkout 更清晰的职责边界。","url":"https://www.gitorg.xyz/zh/commands/git-switch","alternateUrl":"https://www.gitorg.xyz/en/commands/git-switch","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-tag","path":"commands/git-tag","tier":"recommended","learningResourceType":"Reference guide","title":"git tag 教程","summary":"介绍 git tag 如何标记发布点、轻量标签和附注标签的区别，以及标签推送的基本方式。","url":"https://www.gitorg.xyz/zh/commands/git-tag","alternateUrl":"https://www.gitorg.xyz/en/commands/git-tag","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Git-Basics-Tagging"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"worktree","path":"concepts/worktree","tier":"extended","learningResourceType":"Concept guide","title":"Git Worktree 概念：多工作目录并行开发","summary":"系统解释 Git worktree 的概念——如何同时检出多个分支到不同目录，以及它解决的问题和适用场景。","url":"https://www.gitorg.xyz/zh/docs/concepts/worktree","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/worktree","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/book/en/v2/Git-Tools-Working-with-Worktrees"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"three-layers","path":"concepts/three-layers","tier":"extended","learningResourceType":"Concept guide","title":"Git 三层模型：工作区、暂存区与对象库","summary":"解释 Git 最核心的三层架构——工作区（Working Tree）、暂存区（Index）与对象库（Objects Database）——以及它们如何协同工作。","url":"https://www.gitorg.xyz/zh/docs/concepts/three-layers","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/three-layers","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"refs-and-head","path":"internals/refs-and-head","tier":"core","learningResourceType":"Technical explainer","title":"Git 中的引用与 HEAD","summary":"把分支、标签、远端跟踪引用和 HEAD 放到同一个模型里，理解 Git 如何用名字指向提交。","url":"https://www.gitorg.xyz/zh/internals/refs-and-head","alternateUrl":"https://www.gitorg.xyz/en/internals/refs-and-head","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"git-aliases","path":"best-practices/git-aliases","tier":"extended","learningResourceType":"Best practice guide","title":"Git 别名与效率提升","summary":"高效 Git 别名配置、常用别名清单、Shell 别名、团队共享别名配置与最佳实践。","url":"https://www.gitorg.xyz/zh/best-practices/git-aliases","alternateUrl":"https://www.gitorg.xyz/en/best-practices/git-aliases","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases","https://git-scm.com/docs/git-config"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-history","path":"concepts/git-history","tier":"core","learningResourceType":"Concept guide","title":"Git 历史说明","summary":"系统解释 Git 如何记录历史、为什么提交历史是一个有向图，以及这对协作、恢复和变更审查意味着什么。","url":"https://www.gitorg.xyz/zh/history","alternateUrl":"https://www.gitorg.xyz/en/history","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects","https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"security-with-git","path":"best-practices/security-with-git","tier":"extended","learningResourceType":"Best practice guide","title":"Git 安全实践","summary":"敏感信息泄露处理、密钥管理、.env 安全、git-secrets、GPG 签名提交、SSH 密钥管理等安全实践。","url":"https://www.gitorg.xyz/zh/best-practices/security-with-git","alternateUrl":"https://www.gitorg.xyz/en/best-practices/security-with-git","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work","https://github.com/awslabs/git-secrets","https://github.com/rtyley/bfg-repo-cleaner"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"object-database","path":"internals/object-database","tier":"core","learningResourceType":"Technical explainer","title":"Git 对象数据库","summary":"理解 blob、tree、commit、tag 四类对象，以及 Git 为什么说自己是内容寻址的对象数据库。","url":"https://www.gitorg.xyz/zh/internals/object-database","alternateUrl":"https://www.gitorg.xyz/en/internals/object-database","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"quick-start","path":"learning-path/quick-start","tier":"core","learningResourceType":"Course module","title":"Git 快速上手专题","summary":"把 Git 初学者最需要建立的最小闭环拆成一个可分步学习的专题，包括环境准备、暂存与提交、远端同步和第一个特性分支。","url":"https://www.gitorg.xyz/zh/learning-path","alternateUrl":"https://www.gitorg.xyz/en/learning-path","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Summary","https://git-scm.com/docs/git-clone","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"hosting","sectionLabel":"托管方案","slug":"platform-comparison","path":"hosting/platform-comparison","tier":"extended","learningResourceType":"Comparison guide","title":"Git 托管平台对比：GitHub vs GitLab vs Bitbucket","summary":"系统对比 GitHub、GitLab、Bitbucket 三大 Git 托管平台的功能、定价、CI/CD 集成和协作模式，帮助你选择合适的平台。","url":"https://www.gitorg.xyz/zh/hosting/platform-comparison","alternateUrl":"https://www.gitorg.xyz/en/hosting/platform-comparison","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.github.com/en","https://docs.gitlab.com/","https://bitbucket.org/product/guides"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"commit-graph","path":"internals/commit-graph","tier":"core","learningResourceType":"Technical explainer","title":"Git 提交图与历史表达","summary":"理解为什么 Git 历史本质上是提交图，而不是简单时间线，以及 merge、rebase 如何重新表达这张图。","url":"https://www.gitorg.xyz/zh/internals/commit-graph","alternateUrl":"https://www.gitorg.xyz/en/internals/commit-graph","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Git-Branching-Rebasing"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"concepts","sectionLabel":"概念","slug":"git-shallow","path":"concepts/git-shallow","tier":"extended","learningResourceType":"Concept guide","title":"Git 浅克隆与浅操作","summary":"解释 git clone --depth、浅 fetch、shallow exclude 等浅操作的概念、使用场景和局限性。","url":"https://www.gitorg.xyz/zh/docs/concepts/git-shallow","alternateUrl":"https://www.gitorg.xyz/en/docs/concepts/git-shallow","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://git-scm.com/docs/git-fetch","https://git-scm.com/book/en/v2/Git-Tools-Shallow-Cloning"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-am","path":"commands/git-am","tier":"extended","learningResourceType":"Reference guide","title":"git-am 教程","summary":"把邮件格式补丁序列应用为真实提交，适合 patch-by-email 协作；重点在冲突处理中保持提交序列完整性。","url":"https://www.gitorg.xyz/zh/commands/git-am","alternateUrl":"https://www.gitorg.xyz/en/commands/git-am","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-am"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-apply","path":"commands/git-apply","tier":"extended","learningResourceType":"Reference guide","title":"git-apply 教程","summary":"解释如何用 git-apply 把补丁内容应用到工作区或暂存区。","url":"https://www.gitorg.xyz/zh/commands/git-apply","alternateUrl":"https://www.gitorg.xyz/en/commands/git-apply","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-apply"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-archive","path":"commands/git-archive","tier":"extended","learningResourceType":"Reference guide","title":"git-archive 教程","summary":"解释如何用 git-archive 从某个提交或树对象导出归档包。","url":"https://www.gitorg.xyz/zh/commands/git-archive","alternateUrl":"https://www.gitorg.xyz/en/commands/git-archive","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-archive"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-bundle","path":"commands/git-bundle","tier":"extended","learningResourceType":"Reference guide","title":"git-bundle 教程","summary":"把 Git 历史打包成单文件用于离线传输或受限网络同步，适合“不能直接 fetch/push”的场景。","url":"https://www.gitorg.xyz/zh/commands/git-bundle","alternateUrl":"https://www.gitorg.xyz/en/commands/git-bundle","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-bundle"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-cat-file","path":"commands/git-cat-file","tier":"extended","learningResourceType":"Reference guide","title":"git-cat-file 教程","summary":"解释如何用 git-cat-file 直接查看 Git 对象的类型和内容。","url":"https://www.gitorg.xyz/zh/commands/git-cat-file","alternateUrl":"https://www.gitorg.xyz/en/commands/git-cat-file","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-cat-file"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-cherry","path":"commands/git-cherry","tier":"extended","learningResourceType":"Reference guide","title":"git-cherry 教程","summary":"解释如何用 git-cherry 判断哪些提交尚未被另一条历史吸收。","url":"https://www.gitorg.xyz/zh/commands/git-cherry","alternateUrl":"https://www.gitorg.xyz/en/commands/git-cherry","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-cherry"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-config","path":"commands/git-config","tier":"extended","learningResourceType":"Reference guide","title":"git-config 教程","summary":"解释如何用 git-config 查看和修改 Git 配置。","url":"https://www.gitorg.xyz/zh/commands/git-config","alternateUrl":"https://www.gitorg.xyz/en/commands/git-config","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-config","https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-count-objects","path":"commands/git-count-objects","tier":"extended","learningResourceType":"Reference guide","title":"git-count-objects 教程","summary":"解释如何用 git-count-objects 统计松散对象和包文件的数量。","url":"https://www.gitorg.xyz/zh/commands/git-count-objects","alternateUrl":"https://www.gitorg.xyz/en/commands/git-count-objects","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-count-objects"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-describe","path":"commands/git-describe","tier":"extended","learningResourceType":"Reference guide","title":"git-describe 教程","summary":"解释如何用 git-describe 用最近标签描述当前提交。","url":"https://www.gitorg.xyz/zh/commands/git-describe","alternateUrl":"https://www.gitorg.xyz/en/commands/git-describe","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-describe"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-difftool","path":"commands/git-difftool","tier":"extended","learningResourceType":"Reference guide","title":"git-difftool 教程","summary":"使用外部图形化工具查看差异，提升代码审查和冲突理解效率。","url":"https://www.gitorg.xyz/zh/commands/git-difftool","alternateUrl":"https://www.gitorg.xyz/en/commands/git-difftool","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-difftool"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-format-patch","path":"commands/git-format-patch","tier":"extended","learningResourceType":"Reference guide","title":"git-format-patch 教程","summary":"解释如何用 git-format-patch 把提交导出成可发送的补丁文件。","url":"https://www.gitorg.xyz/zh/commands/git-format-patch","alternateUrl":"https://www.gitorg.xyz/en/commands/git-format-patch","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-format-patch","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-fsck","path":"commands/git-fsck","tier":"extended","learningResourceType":"Reference guide","title":"git-fsck 教程","summary":"解释如何用 git-fsck 检查对象库和引用的完整性。","url":"https://www.gitorg.xyz/zh/commands/git-fsck","alternateUrl":"https://www.gitorg.xyz/en/commands/git-fsck","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-fsck"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-gc","path":"commands/git-gc","tier":"extended","learningResourceType":"Reference guide","title":"git-gc 教程","summary":"解释如何用 git-gc 执行垃圾回收和仓库整理。","url":"https://www.gitorg.xyz/zh/commands/git-gc","alternateUrl":"https://www.gitorg.xyz/en/commands/git-gc","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-gc"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-grep","path":"commands/git-grep","tier":"extended","learningResourceType":"Reference guide","title":"git-grep 教程","summary":"解释如何用 git-grep 在仓库内容中搜索文本。","url":"https://www.gitorg.xyz/zh/commands/git-grep","alternateUrl":"https://www.gitorg.xyz/en/commands/git-grep","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-grep","https://git-scm.com/book/en/v2/Git-Tools-Searching"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-hash-object","path":"commands/git-hash-object","tier":"extended","learningResourceType":"Reference guide","title":"git-hash-object 教程","summary":"计算文件或标准输入的 Git 对象 ID（SHA-1），帮助理解 Git 的内容寻址模型。","url":"https://www.gitorg.xyz/zh/commands/git-hash-object","alternateUrl":"https://www.gitorg.xyz/en/commands/git-hash-object","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-hash-object"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-help","path":"commands/git-help","tier":"extended","learningResourceType":"Reference guide","title":"git-help 教程","summary":"解释如何用 git-help 查阅命令帮助和手册页。","url":"https://www.gitorg.xyz/zh/commands/git-help","alternateUrl":"https://www.gitorg.xyz/en/commands/git-help","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-help"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-interpret-trailers","path":"commands/git-interpret-trailers","tier":"extended","learningResourceType":"Reference guide","title":"git-interpret-trailers 教程","summary":"解析、添加或规范化提交信息中的尾部字段（trailers），如 Co-authored-by、Signed-off-by。","url":"https://www.gitorg.xyz/zh/commands/git-interpret-trailers","alternateUrl":"https://www.gitorg.xyz/en/commands/git-interpret-trailers","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-interpret-trailers"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-ls-files","path":"commands/git-ls-files","tier":"extended","learningResourceType":"Reference guide","title":"git-ls-files 教程","summary":"解释如何用 git-ls-files 列出索引和工作区里的受跟踪路径。","url":"https://www.gitorg.xyz/zh/commands/git-ls-files","alternateUrl":"https://www.gitorg.xyz/en/commands/git-ls-files","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-ls-files"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-ls-tree","path":"commands/git-ls-tree","tier":"extended","learningResourceType":"Reference guide","title":"git-ls-tree 教程","summary":"解释如何用 git-ls-tree 列出某个树对象中的目录和文件条目。","url":"https://www.gitorg.xyz/zh/commands/git-ls-tree","alternateUrl":"https://www.gitorg.xyz/en/commands/git-ls-tree","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-ls-tree"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-merge-base","path":"commands/git-merge-base","tier":"extended","learningResourceType":"Reference guide","title":"git-merge-base 教程","summary":"解释如何用 git-merge-base 找出两个历史之间的最佳共同祖先。","url":"https://www.gitorg.xyz/zh/commands/git-merge-base","alternateUrl":"https://www.gitorg.xyz/en/commands/git-merge-base","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-mergetool","path":"commands/git-mergetool","tier":"extended","learningResourceType":"Reference guide","title":"git-mergetool 教程","summary":"解释如何用 git-mergetool 调用外部工具辅助解决合并冲突。","url":"https://www.gitorg.xyz/zh/commands/git-mergetool","alternateUrl":"https://www.gitorg.xyz/en/commands/git-mergetool","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-mergetool"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-notes","path":"commands/git-notes","tier":"extended","learningResourceType":"Reference guide","title":"git-notes 教程","summary":"在不改写提交对象的前提下给提交补充审计、复盘或评审注释，适合需要保留原始历史又要追加上下文的团队。","url":"https://www.gitorg.xyz/zh/commands/git-notes","alternateUrl":"https://www.gitorg.xyz/en/commands/git-notes","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-notes"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-prune","path":"commands/git-prune","tier":"extended","learningResourceType":"Reference guide","title":"git-prune 教程","summary":"清理不可达的 Git 对象，配合 gc 和 reflog 管理仓库对象生命周期。","url":"https://www.gitorg.xyz/zh/commands/git-prune","alternateUrl":"https://www.gitorg.xyz/en/commands/git-prune","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-prune"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-range-diff","path":"commands/git-range-diff","tier":"extended","learningResourceType":"Reference guide","title":"git-range-diff 教程","summary":"比较两组“补丁序列”而不是单点 diff，适合在 rebase 或重排提交后向 reviewer 解释“这次版本改动到底变了什么”。","url":"https://www.gitorg.xyz/zh/commands/git-range-diff","alternateUrl":"https://www.gitorg.xyz/en/commands/git-range-diff","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-range-diff"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-read-tree","path":"commands/git-read-tree","tier":"extended","learningResourceType":"Reference guide","title":"git-read-tree 教程","summary":"解释如何用 git-read-tree 把树对象读入索引进行底层操作。","url":"https://www.gitorg.xyz/zh/commands/git-read-tree","alternateUrl":"https://www.gitorg.xyz/en/commands/git-read-tree","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-read-tree"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-replace","path":"commands/git-replace","tier":"extended","learningResourceType":"Reference guide","title":"git-replace 教程","summary":"在不改写历史的情况下替换提交对象，用于拆分仓库或修正历史中的特定节点。","url":"https://www.gitorg.xyz/zh/commands/git-replace","alternateUrl":"https://www.gitorg.xyz/en/commands/git-replace","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-replace"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-request-pull","path":"commands/git-request-pull","tier":"extended","learningResourceType":"Reference guide","title":"git-request-pull 教程","summary":"生成“从哪个基线到哪个分支”的拉取摘要，适合邮件流或传统维护者流程中做可审阅的变更交付说明。","url":"https://www.gitorg.xyz/zh/commands/git-request-pull","alternateUrl":"https://www.gitorg.xyz/en/commands/git-request-pull","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-request-pull","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-rerere","path":"commands/git-rerere","tier":"extended","learningResourceType":"Reference guide","title":"git-rerere 教程","summary":"启用并重用冲突解决方案，减少重复解决相同冲突的工作量。","url":"https://www.gitorg.xyz/zh/commands/git-rerere","alternateUrl":"https://www.gitorg.xyz/en/commands/git-rerere","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-rerere"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-rev-list","path":"commands/git-rev-list","tier":"extended","learningResourceType":"Reference guide","title":"git-rev-list 教程","summary":"解释如何用 git-rev-list 以脚本友好的方式枚举提交集合。","url":"https://www.gitorg.xyz/zh/commands/git-rev-list","alternateUrl":"https://www.gitorg.xyz/en/commands/git-rev-list","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-rev-list"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-rev-parse","path":"commands/git-rev-parse","tier":"extended","learningResourceType":"Reference guide","title":"git-rev-parse 教程","summary":"解释如何用 git-rev-parse 解析修订表达式和仓库路径信息。","url":"https://www.gitorg.xyz/zh/commands/git-rev-parse","alternateUrl":"https://www.gitorg.xyz/en/commands/git-rev-parse","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-rev-parse","https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-send-email","path":"commands/git-send-email","tier":"extended","learningResourceType":"Reference guide","title":"git-send-email 教程","summary":"将 `format-patch` 产出的补丁序列按邮件线程发送给维护者或邮件列表，适用于内核式补丁协作流程。","url":"https://www.gitorg.xyz/zh/commands/git-send-email","alternateUrl":"https://www.gitorg.xyz/en/commands/git-send-email","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-send-email","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-shortlog","path":"commands/git-shortlog","tier":"extended","learningResourceType":"Reference guide","title":"git-shortlog 教程","summary":"解释如何用 git-shortlog 按作者和主题汇总提交历史。","url":"https://www.gitorg.xyz/zh/commands/git-shortlog","alternateUrl":"https://www.gitorg.xyz/en/commands/git-shortlog","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-shortlog","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-show-ref","path":"commands/git-show-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-show-ref 教程","summary":"解释如何用 git-show-ref 列出仓库中的引用及其目标。","url":"https://www.gitorg.xyz/zh/commands/git-show-ref","alternateUrl":"https://www.gitorg.xyz/en/commands/git-show-ref","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-show-ref"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-sparse-checkout","path":"commands/git-sparse-checkout","tier":"extended","learningResourceType":"Reference guide","title":"git-sparse-checkout 教程","summary":"解释如何用 git-sparse-checkout 只检出仓库中的部分目录。","url":"https://www.gitorg.xyz/zh/commands/git-sparse-checkout","alternateUrl":"https://www.gitorg.xyz/en/commands/git-sparse-checkout","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-sparse-checkout"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-submodule","path":"commands/git-submodule","tier":"recommended","learningResourceType":"Reference guide","title":"git-submodule 教程","summary":"管理父仓库中的外部依赖仓库指针，重点是“子模块提交更新后要提交父仓库指针”这一协作边界。","url":"https://www.gitorg.xyz/zh/commands/git-submodule","alternateUrl":"https://www.gitorg.xyz/en/commands/git-submodule","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-submodule","https://git-scm.com/book/en/v2/Git-Tools-Submodules"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-symbolic-ref","path":"commands/git-symbolic-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-symbolic-ref 教程","summary":"解释如何用 git-symbolic-ref 读取或修改符号引用如 HEAD。","url":"https://www.gitorg.xyz/zh/commands/git-symbolic-ref","alternateUrl":"https://www.gitorg.xyz/en/commands/git-symbolic-ref","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-symbolic-ref"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-update-index","path":"commands/git-update-index","tier":"extended","learningResourceType":"Reference guide","title":"git-update-index 教程","summary":"解释如何用 git-update-index 直接修改索引中的条目和属性。","url":"https://www.gitorg.xyz/zh/commands/git-update-index","alternateUrl":"https://www.gitorg.xyz/en/commands/git-update-index","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-update-index"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-update-ref","path":"commands/git-update-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-update-ref 教程","summary":"解释如何用 git-update-ref 以更底层的方式更新引用。","url":"https://www.gitorg.xyz/zh/commands/git-update-ref","alternateUrl":"https://www.gitorg.xyz/en/commands/git-update-ref","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-update-ref"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-verify-pack","path":"commands/git-verify-pack","tier":"extended","learningResourceType":"Reference guide","title":"git-verify-pack 教程","summary":"解释如何用 git-verify-pack 检查 pack 文件中的对象和偏移信息。","url":"https://www.gitorg.xyz/zh/commands/git-verify-pack","alternateUrl":"https://www.gitorg.xyz/en/commands/git-verify-pack","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-verify-pack"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-verify-tag","path":"commands/git-verify-tag","tier":"extended","learningResourceType":"Reference guide","title":"git-verify-tag 教程","summary":"解释如何用 git-verify-tag 验证带签名标签的真实性。","url":"https://www.gitorg.xyz/zh/commands/git-verify-tag","alternateUrl":"https://www.gitorg.xyz/en/commands/git-verify-tag","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-verify-tag"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"commands","sectionLabel":"Git 命令","slug":"git-worktree","path":"commands/git-worktree","tier":"recommended","learningResourceType":"Reference guide","title":"git-worktree 教程","summary":"为同一仓库创建多个并行工作目录，避免频繁 stash/switch，提高多任务协作与紧急切换效率。","url":"https://www.gitorg.xyz/zh/commands/git-worktree","alternateUrl":"https://www.gitorg.xyz/en/commands/git-worktree","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://git-scm.com/docs/git-worktree"],"citationGuidance":"适合作为命令语法、风险边界和常见用法的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"gitflow-workflow","path":"workflows/gitflow-workflow","tier":"core","learningResourceType":"Workflow tutorial","title":"Gitflow 工作流教程","summary":"基于 Atlassian 对 Gitflow 的说明，梳理 main、develop、feature、release、hotfix 的职责，以及它在现代团队中的适用边界。","url":"https://www.gitorg.xyz/zh/workflows/gitflow-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/gitflow-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"ci-cd","sectionLabel":"CI/CD 集成","slug":"github-actions-basics","path":"ci-cd/github-actions-basics","tier":"extended","learningResourceType":"Tutorial","title":"GitHub Actions 与 Git 协同","summary":"系统介绍 GitHub Actions 如何与 Git 仓库协同工作，包括事件触发、工作流语法、CI/CD 集成和最佳实践。","url":"https://www.gitorg.xyz/zh/ci-cd/github-actions-basics","alternateUrl":"https://www.gitorg.xyz/en/ci-cd/github-actions-basics","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://docs.github.com/en/actions","https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"github-actions-and-skills","path":"github/github-actions-and-skills","tier":"extended","learningResourceType":"Platform tutorial","title":"GitHub Actions 与 GitHub Skills 入门","summary":"理解 GitHub Actions 的最小自动化模型，并用 GitHub Skills 建立更低成本的动手练习路径。","url":"https://www.gitorg.xyz/zh/github/github-actions-and-skills","alternateUrl":"https://www.gitorg.xyz/en/github/github-actions-and-skills","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/actions/get-started/quickstart","https://skills.github.com"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"github-codeowners-and-review-ownership","path":"github/github-codeowners-and-review-ownership","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub CODEOWNERS 与评审归属","summary":"通过 CODEOWNERS 建立文件级评审归属，减少关键模块无人负责或评审漂移的问题。","url":"https://www.gitorg.xyz/zh/github/github-codeowners-and-review-ownership","alternateUrl":"https://www.gitorg.xyz/en/github/github-codeowners-and-review-ownership","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/code-review/about-pull-request-reviews"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"github-flow-basics","path":"github/github-flow-basics","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub Flow 基础教程","summary":"用 GitHub 官方的轻量协作模型理解 branch、pull request、review 与 merge 的最小闭环。","url":"https://www.gitorg.xyz/zh/github/github-flow-basics","alternateUrl":"https://www.gitorg.xyz/en/github/github-flow-basics","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/get-started/using-github/github-flow","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"github-branch-protection-and-rulesets","path":"github/github-branch-protection-and-rulesets","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub 分支保护与 Rulesets","summary":"用 Branch protection 与 Rulesets 把分支策略从约定升级为平台强制，降低误推送和低质量合并风险。","url":"https://www.gitorg.xyz/zh/github/github-branch-protection-and-rulesets","alternateUrl":"https://www.gitorg.xyz/en/github/github-branch-protection-and-rulesets","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches","https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"ci-cd","sectionLabel":"CI/CD 集成","slug":"gitlab-ci-basics","path":"ci-cd/gitlab-ci-basics","tier":"extended","learningResourceType":"Tutorial","title":"GitLab CI/CD 与 Git 协同","summary":"系统介绍 GitLab CI/CD 如何与 Git 仓库深度集成，包括 .gitlab-ci.yml 配置、流水线触发策略和最佳实践。","url":"https://www.gitorg.xyz/zh/ci-cd/gitlab-ci-basics","alternateUrl":"https://www.gitorg.xyz/en/ci-cd/gitlab-ci-basics","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://docs.gitlab.com/ee/ci/","https://docs.gitlab.com/ee/ci/yaml/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-ci-and-runners","path":"gitlab/gitlab-ci-and-runners","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab CI/CD 与 Runners 入门","summary":"建立更扎实的 GitLab CI/CD、pipeline、job、runner 心智模型，并理解它们怎样参与 Merge Request 准入。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-ci-and-runners","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-ci-and-runners","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.gitlab.com/ci/quick_start/","https://docs.gitlab.com/ci/runners/","https://docs.gitlab.com/ci/pipelines/merge_request_pipelines/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-flow-and-merge-requests","path":"gitlab/gitlab-flow-and-merge-requests","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab Flow 与 Merge Request 教程","summary":"理解 GitLab Flow、环境感知的分支协作，以及 Merge Request 为什么会成为 GitLab 交付模型的中心。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-flow-and-merge-requests","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-flow-and-merge-requests","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.gitlab.com/topics/gitlab_flow/","https://docs.gitlab.com/user/project/merge_requests/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-forks-and-contributions","path":"gitlab/gitlab-forks-and-contributions","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Fork 与贡献流程","summary":"把 GitLab 上的 fork、贡献分支、Merge Request 和上游同步串成一条更真实的外部协作路径，并说明权限与 CI 边界。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-forks-and-contributions","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-forks-and-contributions","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.gitlab.com/user/project/repository/forking_workflow/","https://docs.gitlab.com/user/project/merge_requests/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-groups-projects-and-permissions","path":"gitlab/gitlab-groups-projects-and-permissions","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Groups、Projects 与权限模型","summary":"理解 GitLab 里 group、project、role 和权限继承的关系，避免团队协作一开始就把访问边界做乱。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-groups-projects-and-permissions","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-groups-projects-and-permissions","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.gitlab.com/user/group/","https://docs.gitlab.com/user/project/","https://docs.gitlab.com/auth/user_permissions/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-issues-boards-and-milestones","path":"gitlab/gitlab-issues-boards-and-milestones","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Issues、Boards 与 Milestones","summary":"理解 GitLab 如何用 issue、board 和 milestone 把计划、流转和交付组织起来，而不是把所有上下文都塞进 Merge Request。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-issues-boards-and-milestones","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-issues-boards-and-milestones","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.gitlab.com/user/project/issues/","https://docs.gitlab.com/user/project/issue_board/","https://docs.gitlab.com/user/project/milestones/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-merge-trains-and-merge-result-pipelines","path":"gitlab/gitlab-merge-trains-and-merge-result-pipelines","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab Merge Trains 与合并结果流水线","summary":"通过 Merge Trains 与 merge result pipelines 在合并前验证“真实合并结果”，降低并发 MR 导致的主线回归。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-merge-trains-and-merge-result-pipelines","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-merge-trains-and-merge-result-pipelines","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.gitlab.com/ee/ci/pipelines/merge_trains/","https://docs.gitlab.com/ee/ci/pipelines/merged_results_pipelines.html"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"gitlab","sectionLabel":"GitLab 专题","slug":"gitlab-protected-branches-and-approval-rules","path":"gitlab/gitlab-protected-branches-and-approval-rules","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab 受保护分支与审批规则","summary":"通过 Protected branches 与 Merge request approval rules 固化团队协作边界，减少高风险改动直接进入主线。","url":"https://www.gitorg.xyz/zh/gitlab/gitlab-protected-branches-and-approval-rules","alternateUrl":"https://www.gitorg.xyz/en/gitlab/gitlab-protected-branches-and-approval-rules","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.gitlab.com/ee/user/project/protected_branches.html","https://docs.gitlab.com/ee/user/project/merge_requests/approvals/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"security","sectionLabel":"安全","slug":"gpg-signing","path":"security/gpg-signing","tier":"extended","learningResourceType":"Best practice guide","title":"GPG 签名与 Git 提交验证","summary":"系统介绍如何使用 GPG 签名 Git 提交和标签，配置签名验证，以及团队中强制签名策略的最佳实践。","url":"https://www.gitorg.xyz/zh/security/gpg-signing","alternateUrl":"https://www.gitorg.xyz/en/security/gpg-signing","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.github.com/en/authentication/managing-commit-signature-verification","https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"hooks-and-policy-enforcement","path":"internals/hooks-and-policy-enforcement","tier":"recommended","learningResourceType":"Technical explainer","title":"hooks 与策略执行","summary":"理解本地 hooks 与服务端 hooks 的职责边界，帮助把提交与推送策略从“口头约定”转成“系统强制执行”。","url":"https://www.gitorg.xyz/zh/internals/hooks-and-policy-enforcement","alternateUrl":"https://www.gitorg.xyz/en/internals/hooks-and-policy-enforcement","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/githooks","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"issues-projects-and-discussions","path":"github/issues-projects-and-discussions","tier":"extended","learningResourceType":"Platform tutorial","title":"Issues、Projects 与 Discussions 教程","summary":"理解 GitHub 上需求、任务、讨论和协作节奏的组织方式，而不把所有沟通都堆进 PR。","url":"https://www.gitorg.xyz/zh/github/issues-projects-and-discussions","alternateUrl":"https://www.gitorg.xyz/en/github/issues-projects-and-discussions","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues","https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects","https://docs.github.com/en/discussions/quickstart"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"ide","sectionLabel":"IDE 集成","slug":"jetbrains-git","path":"ide/jetbrains-git","tier":"extended","learningResourceType":"Tutorial","title":"JetBrains IDE Git 操作深度指南","summary":"系统介绍 IntelliJ IDEA、WebStorm 等 JetBrains IDE 的 Git 集成，包括 VCS 面板、交互式 rebase 和冲突解决。","url":"https://www.gitorg.xyz/zh/ide/jetbrains-git","alternateUrl":"https://www.gitorg.xyz/en/ide/jetbrains-git","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://www.jetbrains.com/help/idea/version-control-integration.html","https://www.jetbrains.com/help/idea/commit-and-push-changes.html"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"migration","sectionLabel":"迁移指南","slug":"hg-to-git","path":"migration/hg-to-git","tier":"extended","learningResourceType":"Guide","title":"Mercurial 到 Git 迁移指南","summary":"系统介绍从 Mercurial（Hg）迁移到 Git 的流程，包括 hg-fast-export 工具、分支和标签转换、以及常见差异处理。","url":"https://www.gitorg.xyz/zh/migration/hg-to-git","alternateUrl":"https://www.gitorg.xyz/en/migration/hg-to-git","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git","https://github.com/frej/fast-export"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"merge-queue-workflow","path":"workflows/merge-queue-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Merge Queue 工作流","summary":"当团队并发合并很多 PR 时，用 merge queue 降低串行抢占主线、重复排队和基底过期的问题。","url":"https://www.gitorg.xyz/zh/workflows/merge-queue-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/merge-queue-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue?tool=webui"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"monorepo-sparse-checkout-workflow","path":"workflows/monorepo-sparse-checkout-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"monorepo 场景下的稀疏检出与多工作树协作","summary":"在 monorepo 场景里，用 sparse-checkout 和 worktree 限定工作范围，降低上下文负担并支持并行任务。","url":"https://www.gitorg.xyz/zh/workflows/monorepo-sparse-checkout-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/monorepo-sparse-checkout-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-sparse-checkout","https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-submodule"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"performance","sectionLabel":"性能优化","slug":"partial-clone","path":"performance/partial-clone","tier":"extended","learningResourceType":"Technical guide","title":"Partial Clone：按需获取 Git 对象","summary":"深入介绍 Git partial clone 的工作原理、filter 选项、promisor remote 机制，以及如何在大仓库中加速 clone 和 fetch。","url":"https://www.gitorg.xyz/zh/performance/partial-clone","alternateUrl":"https://www.gitorg.xyz/en/performance/partial-clone","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/partial-clone","https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"plumbing-and-porcelain","path":"internals/plumbing-and-porcelain","tier":"recommended","learningResourceType":"Technical explainer","title":"Plumbing 与 Porcelain：Git 两层命令世界","summary":"理解 porcelain 与 plumbing 的分层，能帮助你看懂为什么有些 Git 命令偏“日常操作”，有些命令更像底层原语。","url":"https://www.gitorg.xyz/zh/internals/plumbing-and-porcelain","alternateUrl":"https://www.gitorg.xyz/en/internals/plumbing-and-porcelain","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"prepare-commits-before-pull-request","path":"workflows/prepare-commits-before-pull-request","tier":"recommended","learningResourceType":"Workflow tutorial","title":"PR 前如何整理提交历史","summary":"在发起 PR 之前，围绕同步、提交整理、风险确认和 review 友好度，建立一套稳定的准备动作。","url":"https://www.gitorg.xyz/zh/workflows/prepare-commits-before-pull-request","alternateUrl":"https://www.gitorg.xyz/en/workflows/prepare-commits-before-pull-request","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"pr-merge-strategy-and-platform-settings","path":"workflows/pr-merge-strategy-and-platform-settings","tier":"extended","learningResourceType":"Workflow tutorial","title":"PR 合并策略与平台配置","summary":"把 squash merge、rebase merge、merge commit 和平台配置放到同一个决策框架里，帮助团队统一 PR 落地方式。","url":"https://www.gitorg.xyz/zh/workflows/pr-merge-strategy-and-platform-settings","alternateUrl":"https://www.gitorg.xyz/en/workflows/pr-merge-strategy-and-platform-settings","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github?apiVersion=2022-11-28","https://docs.github.com/articles/about-pull-request-merges"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"github","sectionLabel":"GitHub 专题","slug":"pull-requests-and-reviews","path":"github/pull-requests-and-reviews","tier":"recommended","learningResourceType":"Platform tutorial","title":"Pull Request 与 Code Review 教程","summary":"理解 Pull Request、review、分支保护和合并策略在团队协作中的位置，而不只是学会界面操作。","url":"https://www.gitorg.xyz/zh/github/pull-requests-and-reviews","alternateUrl":"https://www.gitorg.xyz/en/github/pull-requests-and-reviews","lastModified":"2026-05-24T11:46:17.285Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews","https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"pull-request-review-readiness","path":"best-practices/pull-request-review-readiness","tier":"extended","learningResourceType":"Best practice guide","title":"Pull Request 评审准备与协作规范","summary":"评审质量很大程度上取决于送审前有没有把变更范围、提交叙事、上下文说明和后续响应机制准备清楚。","url":"https://www.gitorg.xyz/zh/best-practices/pull-request-review-readiness","alternateUrl":"https://www.gitorg.xyz/en/best-practices/pull-request-review-readiness","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"undo-after-pull","path":"recovery/undo-after-pull","tier":"core","learningResourceType":"Troubleshooting guide","title":"pull 之后后悔了怎么撤回","summary":"当 pull 之后发现分支状态不对、自动 merge 不符合预期，或者 rebase 结果混乱时，先判断 pull 实际做了什么，再选择 ORIG_HEAD、reflog 或救援分支。","url":"https://www.gitorg.xyz/zh/recovery/undo-after-pull","alternateUrl":"https://www.gitorg.xyz/en/recovery/undo-after-pull","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-pull","https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-reflog"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"rebase-internals-and-sequencer","path":"internals/rebase-internals-and-sequencer","tier":"recommended","learningResourceType":"Technical explainer","title":"rebase 内部机制与 sequencer","summary":"从 sequencer 视角理解 rebase 的提交重放过程，帮助定位 rebase 中断、冲突恢复与历史重写后的提交变化。","url":"https://www.gitorg.xyz/zh/internals/rebase-internals-and-sequencer","alternateUrl":"https://www.gitorg.xyz/en/internals/rebase-internals-and-sequencer","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-reflog"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-rebase","path":"recovery/recover-after-rebase","tier":"core","learningResourceType":"Troubleshooting guide","title":"rebase 出错后怎么恢复","summary":"当 rebase 过程中冲突、提交丢失或结果不对时，先停止继续改写历史，再用 reflog、abort 和救援分支恢复可控状态。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-rebase","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-rebase","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Branching-Rebasing"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"reflog-recovery","path":"recovery/reflog-recovery","tier":"core","learningResourceType":"Troubleshooting guide","title":"reflog 恢复手册","summary":"当 reset、rebase、pull 或误删分支后找不到原来位置时，优先用 reflog 重新定位并建立恢复路径。","url":"https://www.gitorg.xyz/zh/recovery/reflog-recovery","alternateUrl":"https://www.gitorg.xyz/en/recovery/reflog-recovery","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"refspec-and-ref-updates","path":"internals/refspec-and-ref-updates","tier":"extended","learningResourceType":"Technical explainer","title":"Refspec 与引用更新教程","summary":"解释 fetch 和 push 时 refspec 如何决定哪些引用被映射和更新。","url":"https://www.gitorg.xyz/zh/internals/refspec-and-ref-updates","alternateUrl":"https://www.gitorg.xyz/en/internals/refspec-and-ref-updates","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-The-Refspec","https://git-scm.com/docs/git-fetch"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"release-train-workflow","path":"workflows/release-train-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Release Train 工作流","summary":"以固定节奏发车替代“功能等发布”，通过版本列车机制提高组织可预测性并降低临时插单造成的发布波动。","url":"https://www.gitorg.xyz/zh/workflows/release-train-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/release-train-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://martinfowler.com/bliki/ReleaseTrain.html","https://git-scm.com/docs/git-tag","https://git-scm.com/docs/git-branch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-reset","path":"recovery/recover-after-reset","tier":"core","learningResourceType":"Troubleshooting guide","title":"reset 过头后怎么恢复","summary":"当 reset 把分支、暂存区或工作区挪得太远时，先分清是哪一层变了，再用 reflog、ORIG_HEAD 或救援分支恢复。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-reset","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-reset","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"revert-first-stabilization-workflow","path":"workflows/revert-first-stabilization-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Revert-First 稳定化工作流","summary":"线上回归发生时先恢复服务稳定，再分离根因修复；通过 revert-first 策略缩短故障窗口并降低二次事故风险。","url":"https://www.gitorg.xyz/zh/workflows/revert-first-stabilization-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/revert-first-stabilization-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-cherry-pick","https://sre.google/sre-book/emergency-response/"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"squash-vs-rebase-merge","path":"workflows/squash-vs-rebase-merge","tier":"extended","learningResourceType":"Workflow tutorial","title":"Squash Merge 与 Rebase Merge 选择教程","summary":"比较两种常见合并策略对历史可读性、追踪性和回滚方式的影响。","url":"https://www.gitorg.xyz/zh/workflows/squash-vs-rebase-merge","alternateUrl":"https://www.gitorg.xyz/en/workflows/squash-vs-rebase-merge","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-rebase"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"security","sectionLabel":"安全","slug":"ssh-key-management","path":"security/ssh-key-management","tier":"extended","learningResourceType":"Best practice guide","title":"SSH 密钥管理与 Git 安全认证","summary":"系统介绍 SSH 密钥的生成、配置、管理与 Git 认证，包括多密钥管理、ssh-agent、部署密钥和安全最佳实践。","url":"https://www.gitorg.xyz/zh/security/ssh-key-management","alternateUrl":"https://www.gitorg.xyz/en/security/ssh-key-management","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.github.com/en/authentication/connecting-to-github-with-ssh","https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"stacked-pull-requests-workflow","path":"workflows/stacked-pull-requests-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Stacked Pull Requests 工作流","summary":"把一个大改动拆成有依赖关系的多层 PR，提升评审吞吐与可读性，同时降低一次性大 PR 的认知负担。","url":"https://www.gitorg.xyz/zh/workflows/stacked-pull-requests-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/stacked-pull-requests-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-range-diff","https://git-scm.com/docs/git-cherry-pick"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"migration","sectionLabel":"迁移指南","slug":"svn-to-git","path":"migration/svn-to-git","tier":"extended","learningResourceType":"Guide","title":"SVN 到 Git 迁移指南","summary":"系统介绍从 Subversion（SVN）迁移到 Git 的完整流程，包括历史转换、分支映射、团队培训和常见陷阱。","url":"https://www.gitorg.xyz/zh/migration/svn-to-git","alternateUrl":"https://www.gitorg.xyz/en/migration/svn-to-git","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-svn","https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"tree-objects-and-snapshots","path":"internals/tree-objects-and-snapshots","tier":"extended","learningResourceType":"Technical explainer","title":"Tree 对象与目录快照教程","summary":"说明 tree 对象如何表达目录层级，以及提交为何能表示完整文件树快照。","url":"https://www.gitorg.xyz/zh/internals/tree-objects-and-snapshots","alternateUrl":"https://www.gitorg.xyz/en/internals/tree-objects-and-snapshots","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"trunk-based-development-workflow","path":"workflows/trunk-based-development-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Trunk-Based Development 工作流","summary":"用短生命周期分支和高频小批次合并，把主线始终保持在可发布状态，降低长期分叉与集成冲突成本。","url":"https://www.gitorg.xyz/zh/workflows/trunk-based-development-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/trunk-based-development-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-worktree"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"ide","sectionLabel":"IDE 集成","slug":"vscode-git","path":"ide/vscode-git","tier":"extended","learningResourceType":"Tutorial","title":"VS Code Git 集成深度指南","summary":"系统介绍 VS Code 内置 Git 功能的面板、编辑器快捷键、diff 编辑器、冲突解决工具和 GitLens 等扩展。","url":"https://www.gitorg.xyz/zh/ide/vscode-git","alternateUrl":"https://www.gitorg.xyz/en/ide/vscode-git","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://code.visualstudio.com/docs/sourcecontrol/overview","https://code.visualstudio.com/docs/editor/versioncontrol"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"three-way-merge-mechanics","path":"internals/three-way-merge-mechanics","tier":"recommended","learningResourceType":"Technical explainer","title":"三方合并机制","summary":"理解 Git 如何基于 merge-base 做三方合并，有助于准确判断冲突来源、合并结果与冲突解决策略。","url":"https://www.gitorg.xyz/zh/internals/three-way-merge-mechanics","alternateUrl":"https://www.gitorg.xyz/en/internals/three-way-merge-mechanics","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"trunk-based-development","path":"workflows/trunk-based-development","tier":"extended","learningResourceType":"Workflow tutorial","title":"主干开发工作流","summary":"主干开发 vs 分支开发对比、feature flag 配合、短分支策略、小步提交实践。","url":"https://www.gitorg.xyz/zh/workflows/trunk-based-development","alternateUrl":"https://www.gitorg.xyz/en/workflows/trunk-based-development","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://trunkbaseddevelopment.com/","https://github.com/features/actions"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"topic-branches","path":"best-practices/topic-branches","tier":"recommended","learningResourceType":"Best practice guide","title":"主题分支策略","summary":"用 topic branch 隔离单项工作，让并行开发、回滚、rebase、review 和发布边界都更清楚。","url":"https://www.gitorg.xyz/zh/best-practices/topic-branches","alternateUrl":"https://www.gitorg.xyz/en/best-practices/topic-branches","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/docs/git-switch"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"incident-retro-to-guardrail-workflow","path":"workflows/incident-retro-to-guardrail-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"事故复盘到工程护栏工作流","summary":"将事故复盘结论转化为可执行的 CI/发布/代码护栏，避免复盘停留在文档层而无法降低未来风险。","url":"https://www.gitorg.xyz/zh/workflows/incident-retro-to-guardrail-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/incident-retro-to-guardrail-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://sre.google/sre-book/postmortem-culture/","https://sre.google/workbook/postmortem-culture/","https://git-scm.com/docs/git-hook"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"bisect-friendly-commits","path":"best-practices/bisect-friendly-commits","tier":"extended","learningResourceType":"Best practice guide","title":"二分友好的提交","summary":"保持每次提交独立可构建、可测试，让 git bisect 能高效定位引入问题的提交。","url":"https://www.gitorg.xyz/zh/best-practices/bisect-friendly-commits","alternateUrl":"https://www.gitorg.xyz/en/best-practices/bisect-friendly-commits","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-bisect"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"fix-broken-interactive-rebase","path":"recovery/fix-broken-interactive-rebase","tier":"extended","learningResourceType":"Troubleshooting guide","title":"交互式 rebase 中途出问题怎么救","summary":"交互式 rebase 过程中常见的错误（选错动作、冲突、编辑器问题）及恢复办法，包括 --abort、--edit-todo 和 reflog 找回。","url":"https://www.gitorg.xyz/zh/recovery/fix-broken-interactive-rebase","alternateUrl":"https://www.gitorg.xyz/en/recovery/fix-broken-interactive-rebase","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"repository-layout-and-gitdir","path":"internals/repository-layout-and-gitdir","tier":"recommended","learningResourceType":"Technical explainer","title":"仓库布局、.git 目录与 GIT_DIR","summary":"理解 `.git` 目录、工作区、gitdir、common dir 和 worktree 之间的关系，能帮助你看懂仓库到底把什么放在了哪里。","url":"https://www.gitorg.xyz/zh/internals/repository-layout-and-gitdir","alternateUrl":"https://www.gitorg.xyz/en/internals/repository-layout-and-gitdir","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/gitrepository-layout","https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-from-corrupted-repo","path":"recovery/recover-from-corrupted-repo","tier":"extended","learningResourceType":"Troubleshooting guide","title":"仓库损坏后怎么恢复","summary":"仓库损坏（pack 损坏、对象丢失、磁盘故障）后的诊断和恢复策略。包括 git fsck 诊断、从远端重新 clone、恢复 pack 文件、备份恢复和预防措施。","url":"https://www.gitorg.xyz/zh/recovery/recover-from-corrupted-repo","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-from-corrupted-repo","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-fsck","https://git-scm.com/book/en/v2/Git-Internals-Packfiles","https://git-scm.com/docs/git-unpack-objects","https://git-scm.com/docs/git-bundle"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"code-review-handoff-quality","path":"best-practices/code-review-handoff-quality","tier":"recommended","learningResourceType":"Best practice guide","title":"代码评审交接质量","summary":"通过高质量 review handoff（背景、范围、风险、验证）减少评审往返沟通成本并提升合并决策速度。","url":"https://www.gitorg.xyz/zh/best-practices/code-review-handoff-quality","alternateUrl":"https://www.gitorg.xyz/en/best-practices/code-review-handoff-quality","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://google.github.io/eng-practices/review/reviewer/","https://google.github.io/eng-practices/review/developer/","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"transfer-protocols-and-negotiation","path":"internals/transfer-protocols-and-negotiation","tier":"extended","learningResourceType":"Technical explainer","title":"传输协议、协商与 pack 交换","summary":"理解 fetch / clone / push 时的协商过程，能帮助你看懂 Git 不是在“整仓同步”，而是在交换对象与引用状态。","url":"https://www.gitorg.xyz/zh/internals/transfer-protocols-and-negotiation","alternateUrl":"https://www.gitorg.xyz/en/internals/transfer-protocols-and-negotiation","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols","https://git-scm.com/book/en/v2/Git-Internals-Packfiles"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"backport-with-cherry-pick","path":"workflows/backport-with-cherry-pick","tier":"recommended","learningResourceType":"Workflow tutorial","title":"使用 Cherry-pick 回移修复","summary":"把主线上的精确修复回移到维护分支，而不是把整条功能分支或无关历史一起合进去。","url":"https://www.gitorg.xyz/zh/workflows/backport-with-cherry-pick","alternateUrl":"https://www.gitorg.xyz/en/workflows/backport-with-cherry-pick","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-log"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"revision-selection-and-ranges","path":"internals/revision-selection-and-ranges","tier":"extended","learningResourceType":"Technical explainer","title":"修订选择、范围表达式与提交集合","summary":"很多 Git 命令真正处理的不是“一个提交”，而是一组通过 revision syntax 表达出来的提交集合。","url":"https://www.gitorg.xyz/zh/internals/revision-selection-and-ranges","alternateUrl":"https://www.gitorg.xyz/en/internals/revision-selection-and-ranges","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/gitrevisions","https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"fetch-first-sync","path":"best-practices/fetch-first-sync","tier":"core","learningResourceType":"Best practice guide","title":"先 fetch 再同步","summary":"把观察远端状态和真正改写本地分支分开，避免把同步决策完全交给默认 pull 行为。","url":"https://www.gitorg.xyz/zh/best-practices/fetch-first-sync","alternateUrl":"https://www.gitorg.xyz/en/best-practices/fetch-first-sync","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull.html","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"shared-history-boundaries","path":"best-practices/shared-history-boundaries","tier":"core","learningResourceType":"Best practice guide","title":"共享历史的改写边界","summary":"明确哪些历史可以放心整理，哪些历史应该默认视为共享并谨慎处理，避免 rebase、amend、reset 和 force push 伤到别人。","url":"https://www.gitorg.xyz/zh/best-practices/shared-history-boundaries","alternateUrl":"https://www.gitorg.xyz/en/best-practices/shared-history-boundaries","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html","https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"merge-base-and-ancestry","path":"internals/merge-base-and-ancestry","tier":"recommended","learningResourceType":"Technical explainer","title":"共同祖先与历史祖先关系教程","summary":"解释 Git 如何基于共同祖先判断分支差异、合并基础和历史可达性。","url":"https://www.gitorg.xyz/zh/internals/merge-base-and-ancestry","alternateUrl":"https://www.gitorg.xyz/en/internals/merge-base-and-ancestry","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"conflict-resolution-routine","path":"best-practices/conflict-resolution-routine","tier":"recommended","learningResourceType":"Best practice guide","title":"冲突处理惯例专题","summary":"把冲突处理变成固定流程，减少临时操作带来的遗漏和误判。","url":"https://www.gitorg.xyz/zh/best-practices/conflict-resolution-routine","alternateUrl":"https://www.gitorg.xyz/en/best-practices/conflict-resolution-routine","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-rebase"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"branch-naming","path":"best-practices/branch-naming","tier":"recommended","learningResourceType":"Best practice guide","title":"分支命名约定专题","summary":"建立稳定的分支命名模式，提升协作、自动化和排错效率。","url":"https://www.gitorg.xyz/zh/best-practices/branch-naming","alternateUrl":"https://www.gitorg.xyz/en/best-practices/branch-naming","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-branch"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"branch-workflow-and-lifecycle","path":"best-practices/branch-workflow-and-lifecycle","tier":"extended","learningResourceType":"Best practice guide","title":"分支策略与分支生命周期","summary":"把主线、发布线、修复线和主题分支的职责拆开，团队才更容易同时兼顾开发速度、评审质量和发布稳定性。","url":"https://www.gitorg.xyz/zh/best-practices/branch-workflow-and-lifecycle","alternateUrl":"https://www.gitorg.xyz/en/best-practices/branch-workflow-and-lifecycle","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/gitworkflows"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"feature-branch-collaboration","path":"workflows/feature-branch-collaboration","tier":"core","learningResourceType":"Workflow tutorial","title":"功能分支协作流","summary":"围绕 feature branch 的日常协作流程，整理从切分支、同步主线、提交整理到发起评审的稳定做法。","url":"https://www.gitorg.xyz/zh/workflows/feature-branch-collaboration","alternateUrl":"https://www.gitorg.xyz/en/workflows/feature-branch-collaboration","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/docs/git-switch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"atomic-commits","path":"best-practices/atomic-commits","tier":"core","learningResourceType":"Best practice guide","title":"原子提交专题","summary":"把一次提交收敛成单一逻辑变更，降低 review 和回滚成本。","url":"https://www.gitorg.xyz/zh/best-practices/atomic-commits","alternateUrl":"https://www.gitorg.xyz/en/best-practices/atomic-commits","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/docs/git-commit"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"release-branch-workflow","path":"workflows/release-branch-workflow","tier":"core","learningResourceType":"Workflow tutorial","title":"发布分支工作流教程","summary":"梳理何时切发布分支、何时冻结功能、以及如何把修复回流主线。","url":"https://www.gitorg.xyz/zh/workflows/release-branch-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/release-branch-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-branch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"release-hygiene","path":"best-practices/release-hygiene","tier":"extended","learningResourceType":"Best practice guide","title":"发布前 Git 卫生专题","summary":"在发布前用一组 Git 检查动作降低标签、分支和版本记录出错概率。","url":"https://www.gitorg.xyz/zh/best-practices/release-hygiene","alternateUrl":"https://www.gitorg.xyz/en/best-practices/release-hygiene","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"pre-release-checklist","path":"workflows/pre-release-checklist","tier":"extended","learningResourceType":"Workflow tutorial","title":"发布前的 Git 检查清单","summary":"发布前的完整 Git 检查清单：分支状态、tag 创建、changelog 生成、版本号、CI 验证。","url":"https://www.gitorg.xyz/zh/workflows/pre-release-checklist","alternateUrl":"https://www.gitorg.xyz/en/workflows/pre-release-checklist","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Tagging","https://git-scm.com/docs/git-log"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"post-release-multi-branch-backporting","path":"workflows/post-release-multi-branch-backporting","tier":"extended","learningResourceType":"Workflow tutorial","title":"发布后多维护线回移策略","summary":"当一个修复需要在多个已发布版本之间回移时，如何控制顺序、验证范围和分支边界。","url":"https://www.gitorg.xyz/zh/workflows/post-release-multi-branch-backporting","alternateUrl":"https://www.gitorg.xyz/en/workflows/post-release-multi-branch-backporting","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-branch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"hotfix-rollback-after-release","path":"workflows/hotfix-rollback-after-release","tier":"recommended","learningResourceType":"Workflow tutorial","title":"发布后热修失败，如何回滚与稳定主线","summary":"当发布后热修本身引入问题时，优先判断回滚粒度、共享影响和后续补丁路径，而不是立刻继续叠加修复。","url":"https://www.gitorg.xyz/zh/workflows/hotfix-rollback-after-release","alternateUrl":"https://www.gitorg.xyz/en/workflows/hotfix-rollback-after-release","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"release-checklist-discipline","path":"best-practices/release-checklist-discipline","tier":"recommended","learningResourceType":"Best practice guide","title":"发布清单纪律","summary":"通过固定发布清单把关键检查项前置并标准化，降低“靠经验记忆”导致的线上发布遗漏与事故。","url":"https://www.gitorg.xyz/zh/best-practices/release-checklist-discipline","alternateUrl":"https://www.gitorg.xyz/en/best-practices/release-checklist-discipline","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://sre.google/sre-book/reliable-product-launches/","https://www.atulgawande.com/book/the-checklist-manifesto/","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"open-first-pull-request","path":"learning-path/open-first-pull-request","tier":"core","learningResourceType":"Course module","title":"发起第一个 Pull Request","summary":"从分支提交过渡到协作评审：整理改动范围、补齐说明信息、发起第一个可评审且可合并的 Pull Request。","url":"https://www.gitorg.xyz/zh/docs/learning-path/open-first-pull-request","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/open-first-pull-request","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"merge-and-close-task","path":"learning-path/merge-and-close-task","tier":"core","learningResourceType":"Course module","title":"合并并关闭任务闭环","summary":"完成一次完整协作闭环：选择合并策略、确认主线状态、清理分支并更新任务状态，避免“代码已合并但流程未收口”。","url":"https://www.gitorg.xyz/zh/docs/learning-path/merge-and-close-task","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/merge-and-close-task","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"undo-merge-commit","path":"recovery/undo-merge-commit","tier":"extended","learningResourceType":"Troubleshooting guide","title":"合并提交后怎么撤销","summary":"merge commit 创建后发现有问题时的正确撤销方法。重点讲解 git revert -m 的 parent 编号原理和常见误区。","url":"https://www.gitorg.xyz/zh/recovery/undo-merge-commit","alternateUrl":"https://www.gitorg.xyz/en/recovery/undo-merge-commit","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-merge","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"bisect-regression-triage-workflow","path":"workflows/bisect-regression-triage-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"回归问题 bisect 排查工作流","summary":"当出现“最近坏了但不知道谁改坏的”问题时，用 git bisect 通过二分定位首个坏提交，显著缩短排查路径。","url":"https://www.gitorg.xyz/zh/workflows/bisect-regression-triage-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/bisect-regression-triage-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-bisect","https://git-scm.com/docs/git-rev-list","https://git-scm.com/docs/git-show"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"handle-review-feedback","path":"learning-path/handle-review-feedback","tier":"core","learningResourceType":"Course module","title":"处理评审反馈","summary":"掌握评审反馈处理节奏：区分必须修改与讨论项、按批次提交修订、维持 PR 可审查性与上下文连续性。","url":"https://www.gitorg.xyz/zh/docs/learning-path/handle-review-feedback","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/handle-review-feedback","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/code-review/about-pull-request-reviews","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"shared-branch-sync-boundaries","path":"workflows/shared-branch-sync-boundaries","tier":"recommended","learningResourceType":"Workflow tutorial","title":"多人共享分支的同步边界","summary":"当多人同时在同一分支协作时，明确什么动作可以做、什么动作不该做，减少同步混乱和历史覆盖。","url":"https://www.gitorg.xyz/zh/workflows/shared-branch-sync-boundaries","alternateUrl":"https://www.gitorg.xyz/en/workflows/shared-branch-sync-boundaries","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing","https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-pull"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"multi-person-sync-routine","path":"workflows/multi-person-sync-routine","tier":"core","learningResourceType":"Workflow tutorial","title":"多人协作时的同步节奏","summary":"围绕多人并行开发，建立一套先 fetch、再观察、再整合的同步节奏，减少 pull 惊喜和共享历史误操作。","url":"https://www.gitorg.xyz/zh/workflows/multi-person-sync-routine","alternateUrl":"https://www.gitorg.xyz/en/workflows/multi-person-sync-routine","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"performance","sectionLabel":"性能优化","slug":"large-repo-optimization","path":"performance/large-repo-optimization","tier":"extended","learningResourceType":"Technical guide","title":"大仓库性能优化策略","summary":"系统介绍 Git 大仓库的性能优化策略，包括 partial clone、sparse checkout、浅克隆、git gc 和 Git LFS 等。","url":"https://www.gitorg.xyz/zh/performance/large-repo-optimization","alternateUrl":"https://www.gitorg.xyz/en/performance/large-repo-optimization","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/partial-clone","https://git-scm.com/docs/git-sparse-checkout","https://git-scm.com/docs/git-gc"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"large-file-handling-workflow","path":"workflows/large-file-handling-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"大文件处理工作流","summary":"使用 Git LFS、稀疏检出和分包策略管理仓库中的大文件，保持克隆速度和历史可维护性。","url":"https://www.gitorg.xyz/zh/workflows/large-file-handling-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/large-file-handling-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-lfs.com/","https://git-scm.com/docs/git-sparse-checkout"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"submodule-update-flow","path":"workflows/submodule-update-flow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"子模块更新流程教程","summary":"梳理子模块仓库更新、锁定版本和主仓库同步的基本流程。","url":"https://www.gitorg.xyz/zh/workflows/submodule-update-flow","alternateUrl":"https://www.gitorg.xyz/en/workflows/submodule-update-flow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Submodules","https://git-scm.com/docs/git-submodule","https://git-scm.com/docs/git-status"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"safe-force-push-protocol","path":"best-practices/safe-force-push-protocol","tier":"recommended","learningResourceType":"Best practice guide","title":"安全 force push 协议","summary":"需要重写历史时，用明确告警、冻结窗口和 `--force-with-lease` 协议降低误覆盖协作者提交的风险。","url":"https://www.gitorg.xyz/zh/best-practices/safe-force-push-protocol","alternateUrl":"https://www.gitorg.xyz/en/best-practices/safe-force-push-protocol","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"safe-cherry-picks","path":"best-practices/safe-cherry-picks","tier":"extended","learningResourceType":"Best practice guide","title":"安全使用 cherry-pick专题","summary":"在回移修复或选择性复用提交时，避免重复、漏拣和上下文错配。","url":"https://www.gitorg.xyz/zh/best-practices/safe-cherry-picks","alternateUrl":"https://www.gitorg.xyz/en/best-practices/safe-cherry-picks","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"reachability-and-garbage-collection","path":"internals/reachability-and-garbage-collection","tier":"recommended","learningResourceType":"Technical explainer","title":"对象可达性与垃圾回收","summary":"理解对象为什么有时还能恢复、有时会永久丢失，本质上取决于可达性和垃圾回收，而不只是命令本身。","url":"https://www.gitorg.xyz/zh/internals/reachability-and-garbage-collection","alternateUrl":"https://www.gitorg.xyz/en/internals/reachability-and-garbage-collection","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery","https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-gc"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"small-batch-review","path":"best-practices/small-batch-review","tier":"extended","learningResourceType":"Best practice guide","title":"小批量评审专题","summary":"用更小的提交批次和更短的生命周期换取更快的 review 节奏。","url":"https://www.gitorg.xyz/zh/best-practices/small-batch-review","alternateUrl":"https://www.gitorg.xyz/en/best-practices/small-batch-review","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"focused-commits-and-topic-branch-hygiene","path":"best-practices/focused-commits-and-topic-branch-hygiene","tier":"extended","learningResourceType":"Best practice guide","title":"小步提交与主题分支整洁度","summary":"把提交粒度和主题分支边界同时管住，review 会更快，rebase 更稳，回滚也会轻松很多。","url":"https://www.gitorg.xyz/zh/best-practices/focused-commits-and-topic-branch-hygiene","alternateUrl":"https://www.gitorg.xyz/en/best-practices/focused-commits-and-topic-branch-hygiene","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/gitworkflows","https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"index-and-working-tree","path":"internals/index-and-working-tree","tier":"core","learningResourceType":"Technical explainer","title":"工作区、暂存区与对象库","summary":"理解 working tree、index 和 object database 这三层，是看懂 add、commit、restore、reset 的关键前提。","url":"https://www.gitorg.xyz/zh/internals/index-and-working-tree","alternateUrl":"https://www.gitorg.xyz/en/internals/index-and-working-tree","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"open-source-fork-pr-contribution","path":"workflows/open-source-fork-pr-contribution","tier":"extended","learningResourceType":"Workflow tutorial","title":"开源贡献 / fork + PR 完整提交流程","summary":"把开源贡献里从 fork、同步上游、切分支、提交改动到发起 PR 的完整节奏串起来。","url":"https://www.gitorg.xyz/zh/workflows/open-source-fork-pr-contribution","alternateUrl":"https://www.gitorg.xyz/en/workflows/open-source-fork-pr-contribution","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project.html","https://docs.github.com/articles/syncing-a-fork?platform=linux"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-lost-stash","path":"recovery/recover-lost-stash","tier":"extended","learningResourceType":"Troubleshooting guide","title":"找回“消失的 stash”","summary":"当 stash 列表里看不到之前保存的内容时，先判断是 pop 后丢失、误删还是引用漂移，再用 reflog 与 dangling commit 进行恢复。","url":"https://www.gitorg.xyz/zh/recovery/recover-lost-stash","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-lost-stash","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-stash","https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-fsck"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-lost-commits","path":"recovery/recover-lost-commits","tier":"extended","learningResourceType":"Troubleshooting guide","title":"提交丢失后怎么找回","summary":"各种场景下提交“丢失”后的恢复策略：detached HEAD 提交、filter-branch 后、误删分支、reset 过头。核心工具是 reflog 和 fsck。","url":"https://www.gitorg.xyz/zh/recovery/recover-lost-commits","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-lost-commits","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-fsck","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"commit-message-conventions","path":"best-practices/commit-message-conventions","tier":"recommended","learningResourceType":"Best practice guide","title":"提交信息规范约定","summary":"统一提交信息结构（动词、范围、原因）提升日志可读性、问题追踪效率和跨团队协作透明度。","url":"https://www.gitorg.xyz/zh/best-practices/commit-message-conventions","alternateUrl":"https://www.gitorg.xyz/en/best-practices/commit-message-conventions","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://cbea.ms/git-commit/","https://git-scm.com/docs/git-commit","https://www.conventionalcommits.org/en/v1.0.0/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"pre-commit-hook-workflow","path":"workflows/pre-commit-hook-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"提交前检查工作流","summary":"利用 pre-commit hook 在代码进入仓库前自动运行检查，守住代码质量第一道关。","url":"https://www.gitorg.xyz/zh/workflows/pre-commit-hook-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/pre-commit-hook-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks","https://pre-commit.com/"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"commit-hygiene","path":"best-practices/commit-hygiene","tier":"core","learningResourceType":"Best practice guide","title":"提交卫生与提交信息","summary":"把提交拆成逻辑独立的 changeset，并用可读的提交信息表达意图、动机和边界，让 review、revert 和 cherry-pick 都更轻。","url":"https://www.gitorg.xyz/zh/best-practices/commit-hygiene","alternateUrl":"https://www.gitorg.xyz/en/best-practices/commit-hygiene","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/docs/git-commit"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"fix-wrong-author-or-commit-message","path":"recovery/fix-wrong-author-or-commit-message","tier":"extended","learningResourceType":"Troubleshooting guide","title":"提交后发现作者或信息写错怎么修正","summary":"提交后发现作者信息、提交信息写错，或者漏了文件的修正方法。包括 amend、rebase -i、filter-repo 批量修改等。","url":"https://www.gitorg.xyz/zh/recovery/fix-wrong-author-or-commit-message","alternateUrl":"https://www.gitorg.xyz/en/recovery/fix-wrong-author-or-commit-message","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-rebase","https://github.com/newren/git-filter-repo"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"commit-message-and-parents","path":"internals/commit-message-and-parents","tier":"extended","learningResourceType":"Technical explainer","title":"提交对象、父提交与提交说明教程","summary":"说明提交对象如何把 tree、父提交和说明文本连接成历史图。","url":"https://www.gitorg.xyz/zh/internals/commit-message-and-parents","alternateUrl":"https://www.gitorg.xyz/en/internals/commit-message-and-parents","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"pull-request-prep","path":"best-practices/pull-request-prep","tier":"recommended","learningResourceType":"Best practice guide","title":"提交评审前准备专题","summary":"在发起评审前收敛提交、同步基线并清理噪音改动。","url":"https://www.gitorg.xyz/zh/best-practices/pull-request-prep","alternateUrl":"https://www.gitorg.xyz/en/best-practices/pull-request-prep","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://git-scm.com/docs/git-rebase"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"backup-before-rewrite","path":"best-practices/backup-before-rewrite","tier":"extended","learningResourceType":"Best practice guide","title":"改写历史前备份","summary":"在执行 rebase、filter-repo 等改写历史操作前建立安全网，确保误操作后可恢复。","url":"https://www.gitorg.xyz/zh/best-practices/backup-before-rewrite","alternateUrl":"https://www.gitorg.xyz/en/best-practices/backup-before-rewrite","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://github.com/newren/git-filter-repo"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"database-migration-safety-workflow","path":"workflows/database-migration-safety-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"数据库迁移安全工作流","summary":"将数据库 schema 变更拆分为可回退、可观测、可分阶段执行的迁移流程，降低发布期结构变更风险。","url":"https://www.gitorg.xyz/zh/workflows/database-migration-safety-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/database-migration-safety-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://martinfowler.com/articles/evodb.html","https://www.postgresql.org/docs/current/ddl-alter.html","https://git-scm.com/docs/git-revert"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"stage-and-commit","path":"learning-path/stage-and-commit","tier":"core","learningResourceType":"Course module","title":"暂存与 commit","summary":"理解工作区、暂存区和提交历史三层模型，并把文件修改稳定地变成清晰、可复用的本地提交。","url":"https://www.gitorg.xyz/zh/docs/learning-path/stage-and-commit","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/stage-and-commit","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-add","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-status"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"tagging-and-versioning","path":"best-practices/tagging-and-versioning","tier":"extended","learningResourceType":"Best practice guide","title":"标签与版本管理","summary":"使用语义化版本（SemVer）和带注释标签建立清晰、可追踪的版本发布规范。","url":"https://www.gitorg.xyz/zh/best-practices/tagging-and-versioning","alternateUrl":"https://www.gitorg.xyz/en/best-practices/tagging-and-versioning","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://semver.org/lang/zh-CN/","https://git-scm.com/book/en/v2/Git-Basics-Tagging"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"setup-and-clone","path":"learning-path/setup-and-clone","tier":"core","learningResourceType":"Course module","title":"环境与 clone","summary":"完成 Git 初学阶段最基础的准备动作：配置身份、拿到仓库、看懂首次 clone 后本地到底多了什么。","url":"https://www.gitorg.xyz/zh/docs/learning-path/setup-and-clone","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/setup-and-clone","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-config","https://git-scm.com/docs/git-clone","https://git-scm.com/docs/git-status"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"environment-and-repository-variables","path":"internals/environment-and-repository-variables","tier":"extended","learningResourceType":"Technical explainer","title":"环境变量、仓库变量与 Git 运行上下文","summary":"理解 GIT_DIR、GIT_WORK_TREE、GIT_INDEX_FILE 等环境变量，能帮助你看懂 Git 如何决定“当前仓库上下文”到底是什么。","url":"https://www.gitorg.xyz/zh/internals/environment-and-repository-variables","alternateUrl":"https://www.gitorg.xyz/en/internals/environment-and-repository-variables","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables","https://git-scm.com/docs/gitrepository-layout"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"rerere-for-recurring-conflicts","path":"workflows/rerere-for-recurring-conflicts","tier":"extended","learningResourceType":"Workflow tutorial","title":"用 rerere 处理重复冲突","summary":"当同一类冲突反复出现时，用 rerere 记录并复用你的解决结果，减少长期分支和频繁同步里的重复劳动。","url":"https://www.gitorg.xyz/zh/workflows/rerere-for-recurring-conflicts","alternateUrl":"https://www.gitorg.xyz/en/workflows/rerere-for-recurring-conflicts","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-rerere","https://git-scm.com/book/en/v2/Git-Tools-Rerere"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"parallel-work-with-worktree","path":"workflows/parallel-work-with-worktree","tier":"extended","learningResourceType":"Workflow tutorial","title":"用 worktree 并行处理多个任务","summary":"当你需要同时处理当前功能、紧急修复或评审修改时，用 git worktree 在同一个仓库上开出多个独立工作目录。","url":"https://www.gitorg.xyz/zh/workflows/parallel-work-with-worktree","alternateUrl":"https://www.gitorg.xyz/en/workflows/parallel-work-with-worktree","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging","https://git-scm.com/docs/git-switch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"first-feature-branch","path":"learning-path/first-feature-branch","tier":"core","learningResourceType":"Course module","title":"第一个特性分支","summary":"从单人闭环进入最简单的协作节奏：创建特性分支、提交改动、同步主分支，并理解 merge 与 rebase 的边界。","url":"https://www.gitorg.xyz/zh/docs/learning-path/first-feature-branch","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/first-feature-branch","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-branch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"first-safe-hotfix","path":"learning-path/first-safe-hotfix","tier":"core","learningResourceType":"Course module","title":"第一次安全热修复","summary":"在紧急修复场景下学习最小风险路径：快速止损、最小改动发布、回补主线与复盘，避免高压下扩大事故面。","url":"https://www.gitorg.xyz/zh/docs/learning-path/first-safe-hotfix","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/first-safe-hotfix","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-revert"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"signing-commits-workflow","path":"workflows/signing-commits-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"签名提交工作流","summary":"使用 GPG 或 SSH 签名提交，建立可验证的提交身份和可信协作链。","url":"https://www.gitorg.xyz/zh/workflows/signing-commits-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/signing-commits-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work","https://docs.github.com/en/authentication/managing-commit-signature-verification"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"hotfix-and-urgent-fixes","path":"workflows/hotfix-and-urgent-fixes","tier":"core","learningResourceType":"Workflow tutorial","title":"紧急修复工作流","summary":"当线上或发布链路出现高优先级问题时，如何从稳定分支切出 hotfix，快速修复并有序回流主线。","url":"https://www.gitorg.xyz/zh/workflows/hotfix-and-urgent-fixes","alternateUrl":"https://www.gitorg.xyz/en/workflows/hotfix-and-urgent-fixes","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project","https://git-scm.com/docs/git-branch"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"hosting","sectionLabel":"托管方案","slug":"self-hosted-git","path":"hosting/self-hosted-git","tier":"extended","learningResourceType":"Comparison guide","title":"自建 Git 服务方案对比","summary":"对比 GitLab CE、Gitea、Gogs 等自建 Git 服务的功能、部署方式和维护成本，帮助你选择最适合团队的自托管方案。","url":"https://www.gitorg.xyz/zh/hosting/self-hosted-git","alternateUrl":"https://www.gitorg.xyz/en/hosting/self-hosted-git","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://docs.gitlab.com/ee/install/","https://gitea.com/","https://gogs.io/"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"sync-before-review","path":"workflows/sync-before-review","tier":"core","learningResourceType":"Workflow tutorial","title":"评审前同步主线","summary":"在发起评审前先同步主线并检查差异范围，减少 reviewer 面对过期基底、重复冲突和历史噪声的成本。","url":"https://www.gitorg.xyz/zh/workflows/sync-before-review","alternateUrl":"https://www.gitorg.xyz/en/workflows/sync-before-review","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull.html"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"review-and-safe-push","path":"best-practices/review-and-safe-push","tier":"core","learningResourceType":"Best practice guide","title":"评审前整理与安全推送","summary":"在发起评审和推送之前，用一套轻量检查动作整理提交栈、确认差异范围，并优先采用更保守的推送方式。","url":"https://www.gitorg.xyz/zh/best-practices/review-and-safe-push","alternateUrl":"https://www.gitorg.xyz/en/best-practices/review-and-safe-push","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-deleted-branch","path":"recovery/recover-deleted-branch","tier":"recommended","learningResourceType":"Troubleshooting guide","title":"误删分支后怎么找回","summary":"分支删掉后，通常先确认是名字没了还是提交也不可达了，再用 reflog、merge-base 和旧引用位置把分支接回来。","url":"https://www.gitorg.xyz/zh/recovery/recover-deleted-branch","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-deleted-branch","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-accidental-merge","path":"recovery/recover-after-accidental-merge","tier":"extended","learningResourceType":"Troubleshooting guide","title":"误合并分支后的恢复","summary":"当错误地 merge 了不该合并的分支时，先识别 merge 是否已共享，再选择 reset 或 revert -m 安全撤销。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-accidental-merge","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-accidental-merge","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-reset"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"recovery","sectionLabel":"恢复与排障","slug":"recover-after-git-clean","path":"recovery/recover-after-git-clean","tier":"extended","learningResourceType":"Troubleshooting guide","title":"误用 git clean 后的恢复","summary":"git clean 删除未跟踪文件后，优先从 IDE 本地历史、系统快照或构建产物来源恢复，并建立 clean 前预演与备份习惯。","url":"https://www.gitorg.xyz/zh/recovery/recover-after-git-clean","alternateUrl":"https://www.gitorg.xyz/en/recovery/recover-after-git-clean","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-clean","https://git-scm.com/docs/git-stash","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"适合作为误操作恢复、排障步骤和风险控制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"cross-repo-integration-workflow","path":"workflows/cross-repo-integration-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"跨仓库集成工作流","summary":"当一个需求跨多个仓库协同落地时，用统一分支命名、集成清单和串联验证流程降低联调失败率。","url":"https://www.gitorg.xyz/zh/workflows/cross-repo-integration-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/cross-repo-integration-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes","https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"learning-path","sectionLabel":"学习路径","slug":"sync-with-remote","path":"learning-path/sync-with-remote","tier":"core","learningResourceType":"Course module","title":"远端同步","summary":"把 fetch、pull、push 拆成“观察、整合、发布”三个动作来理解，减少初学者对同步操作的误判。","url":"https://www.gitorg.xyz/zh/docs/learning-path/sync-with-remote","alternateUrl":"https://www.gitorg.xyz/en/docs/learning-path/sync-with-remote","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull","https://git-scm.com/docs/git-push"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"remote-tracking-refs","path":"internals/remote-tracking-refs","tier":"core","learningResourceType":"Technical explainer","title":"远端跟踪引用","summary":"理解 `main` 与 `origin/main` 的区别，能够帮助你更稳定地掌握 fetch、pull、push 和分支同步。","url":"https://www.gitorg.xyz/zh/internals/remote-tracking-refs","alternateUrl":"https://www.gitorg.xyz/en/internals/remote-tracking-refs","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"rollback-deployment-workflow","path":"workflows/rollback-deployment-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"部署回滚工作流","summary":"结合 Git 标签、revert 和快速分支切换，建立安全可控的部署回滚流程。","url":"https://www.gitorg.xyz/zh/workflows/rollback-deployment-workflow","alternateUrl":"https://www.gitorg.xyz/en/workflows/rollback-deployment-workflow","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-tag"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"internals","sectionLabel":"Git 原理","slug":"rename-detection-and-diff-algorithms","path":"internals/rename-detection-and-diff-algorithms","tier":"recommended","learningResourceType":"Technical explainer","title":"重命名检测与差异算法","summary":"理解 Git 的 rename 检测与 diff 算法有助于解释“为何这个改动显示为删除+新增或重命名”，并优化评审可读性。","url":"https://www.gitorg.xyz/zh/internals/rename-detection-and-diff-algorithms","alternateUrl":"https://www.gitorg.xyz/en/internals/rename-detection-and-diff-algorithms","lastModified":"2026-05-24T11:46:17.289Z","sourceUrls":["https://git-scm.com/docs/git-diff","https://git-scm.com/docs/git-log","https://git-scm.com/docs/git-config"],"citationGuidance":"适合作为 Git 心智模型、对象模型和底层机制的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"long-lived-branch-conflict-governance","path":"workflows/long-lived-branch-conflict-governance","tier":"extended","learningResourceType":"Workflow tutorial","title":"长期分支冲突治理","summary":"把长期分支里的冲突处理从临时救火升级成可治理的流程，包括同步节奏、冲突热区识别和重复冲突复用。","url":"https://www.gitorg.xyz/zh/workflows/long-lived-branch-conflict-governance","alternateUrl":"https://www.gitorg.xyz/en/workflows/long-lived-branch-conflict-governance","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Rerere","https://git-scm.com/docs/git-rerere","https://git-scm.com/docs/git-rebase"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"workflows","sectionLabel":"工作流","slug":"long-lived-branch-maintenance","path":"workflows/long-lived-branch-maintenance","tier":"extended","learningResourceType":"Workflow tutorial","title":"长期分支维护教程","summary":"说明长期存在的分支如何同步主线、控制漂移，并减少大爆炸式合并。","url":"https://www.gitorg.xyz/zh/workflows/long-lived-branch-maintenance","alternateUrl":"https://www.gitorg.xyz/en/workflows/long-lived-branch-maintenance","lastModified":"2026-05-24T11:46:17.293Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-merge"],"citationGuidance":"适合作为团队流程、操作顺序和场景决策的引用来源。"},{"locale":"zh","language":"zh-CN","section":"best-practices","sectionLabel":"最佳实践","slug":"commit-message-advanced","path":"best-practices/commit-message-advanced","tier":"extended","learningResourceType":"Best practice guide","title":"高级提交信息规范","summary":"Conventional Commits、语义化提交、Co-authored-by、Breaking Changes 等高级提交信息规范与工具支持。","url":"https://www.gitorg.xyz/zh/best-practices/commit-message-advanced","alternateUrl":"https://www.gitorg.xyz/en/best-practices/commit-message-advanced","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://www.conventionalcommits.org/","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://github.com/commitizen/cz-cli"],"citationGuidance":"适合作为 Git 教学材料和学习路线的引用来源。"}]},{"locale":"en","count":224,"entries":[{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"multi-person-sync-routine","path":"workflows/multi-person-sync-routine","tier":"core","learningResourceType":"Workflow tutorial","title":"A sync routine for multi-person collaboration","summary":"Use a fetch-first, inspect-first sync rhythm in team collaboration so pull does not become a source of surprise or silent history mutation.","url":"https://www.gitorg.xyz/en/workflows/multi-person-sync-routine","alternateUrl":"https://www.gitorg.xyz/zh/workflows/multi-person-sync-routine","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"commit-message-advanced","path":"best-practices/commit-message-advanced","tier":"extended","learningResourceType":"Best practice guide","title":"Advanced commit message conventions","summary":"Conventional Commits, semantic commits, Co-authored-by, Breaking Changes, and tooling support including commitlint, husky, and commitizen.","url":"https://www.gitorg.xyz/en/best-practices/commit-message-advanced","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/commit-message-advanced","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://www.conventionalcommits.org/","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://github.com/commitizen/cz-cli"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"api-versioning-change-workflow","path":"workflows/api-versioning-change-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"API Versioning Change Workflow","summary":"Handle breaking API changes with parallel version support, migration windows, and controlled deprecation to avoid client outages.","url":"https://www.gitorg.xyz/en/workflows/api-versioning-change-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/api-versioning-change-workflow","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://martinfowler.com/articles/enterpriseREST.html","https://opensource.zalando.com/restful-api-guidelines/#must-use-semantic-versioning","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"assess-force-push-impact","path":"recovery/assess-force-push-impact","tier":"recommended","learningResourceType":"Troubleshooting guide","title":"Assess the impact after a force push","summary":"After a force push, the urgent task is not another push. First identify which refs were replaced, who may still depend on the old history, and what recovery window still exists.","url":"https://www.gitorg.xyz/en/recovery/assess-force-push-impact","alternateUrl":"https://www.gitorg.xyz/zh/recovery/assess-force-push-impact","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"atomic-commits","path":"best-practices/atomic-commits","tier":"core","learningResourceType":"Best practice guide","title":"Atomic Commits","summary":"Keep each commit focused on one logical change to simplify review and rollback.","url":"https://www.gitorg.xyz/en/best-practices/atomic-commits","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/atomic-commits","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/docs/git-commit"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"backport-with-cherry-pick","path":"workflows/backport-with-cherry-pick","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Backporting with Cherry-pick","summary":"Backport precise fixes onto maintenance branches without merging an entire feature branch.","url":"https://www.gitorg.xyz/en/workflows/backport-with-cherry-pick","alternateUrl":"https://www.gitorg.xyz/zh/workflows/backport-with-cherry-pick","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-log"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"backup-before-rewrite","path":"best-practices/backup-before-rewrite","tier":"extended","learningResourceType":"Best practice guide","title":"Backup Before Rewriting","summary":"Establish a safety net before executing history-rewriting operations like rebase or filter-repo so mistakes are recoverable.","url":"https://www.gitorg.xyz/en/best-practices/backup-before-rewrite","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/backup-before-rewrite","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://github.com/newren/git-filter-repo"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"bisect-regression-triage-workflow","path":"workflows/bisect-regression-triage-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Bisect Regression Triage Workflow","summary":"When something recently broke but ownership is unclear, use git bisect to isolate the first bad commit quickly and reproducibly.","url":"https://www.gitorg.xyz/en/workflows/bisect-regression-triage-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/bisect-regression-triage-workflow","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-bisect","https://git-scm.com/docs/git-rev-list","https://git-scm.com/docs/git-show"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"bisect-friendly-commits","path":"best-practices/bisect-friendly-commits","tier":"extended","learningResourceType":"Best practice guide","title":"Bisect-Friendly Commits","summary":"Keep every commit independently buildable and testable so git bisect can efficiently locate the commit that introduced a problem.","url":"https://www.gitorg.xyz/en/best-practices/bisect-friendly-commits","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/bisect-friendly-commits","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-bisect"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"blob-objects-and-content-addressing","path":"internals/blob-objects-and-content-addressing","tier":"extended","learningResourceType":"Technical explainer","title":"Blob Objects and Content Addressing","summary":"Explain how blobs store raw content and why hashes become the identity of Git objects.","url":"https://www.gitorg.xyz/en/internals/blob-objects-and-content-addressing","alternateUrl":"https://www.gitorg.xyz/zh/internals/blob-objects-and-content-addressing","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"branch-naming","path":"best-practices/branch-naming","tier":"recommended","learningResourceType":"Best practice guide","title":"Branch Naming Conventions","summary":"Adopt predictable branch naming patterns to improve collaboration, automation, and debugging.","url":"https://www.gitorg.xyz/en/best-practices/branch-naming","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/branch-naming","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-branch"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"branch-workflow-and-lifecycle","path":"best-practices/branch-workflow-and-lifecycle","tier":"extended","learningResourceType":"Best practice guide","title":"Branch Workflows and Branch Lifecycle","summary":"Teams move faster when mainline, release lines, hotfix lines, and topic branches each have a clear job and a clear exit condition.","url":"https://www.gitorg.xyz/en/best-practices/branch-workflow-and-lifecycle","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/branch-workflow-and-lifecycle","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/gitworkflows"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"canary-release-workflow","path":"workflows/canary-release-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Canary Release Workflow","summary":"Validate new versions on a small slice of real production traffic before broad rollout to reduce blast radius.","url":"https://www.gitorg.xyz/en/workflows/canary-release-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/canary-release-workflow","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://martinfowler.com/bliki/CanaryRelease.html","https://sre.google/workbook/canarying-releases/","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"squash-vs-rebase-merge","path":"workflows/squash-vs-rebase-merge","tier":"extended","learningResourceType":"Workflow tutorial","title":"Choosing Squash Merge vs Rebase Merge","summary":"Compare how squash merge and rebase merge affect readability, traceability, and rollback options.","url":"https://www.gitorg.xyz/en/workflows/squash-vs-rebase-merge","alternateUrl":"https://www.gitorg.xyz/zh/workflows/squash-vs-rebase-merge","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-rebase"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"ci-optimization-with-git","path":"workflows/ci-optimization-with-git","tier":"extended","learningResourceType":"Workflow tutorial","title":"CI/CD Git optimization","summary":"CI/CD Git optimization strategies: shallow clone, caching, partial clone, fetching only changes, and specific configurations for GitHub Actions and GitLab CI.","url":"https://www.gitorg.xyz/en/workflows/ci-optimization-with-git","alternateUrl":"https://www.gitorg.xyz/zh/workflows/ci-optimization-with-git","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"code-freeze-and-release-candidate-workflow","path":"workflows/code-freeze-and-release-candidate-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Code Freeze and Release Candidate Workflow","summary":"Use freeze boundaries and release-candidate iterations to stabilize release scope and expose risk before production rollout.","url":"https://www.gitorg.xyz/en/workflows/code-freeze-and-release-candidate-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/code-freeze-and-release-candidate-workflow","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-tag","https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-cherry-pick"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"code-review-handoff-quality","path":"best-practices/code-review-handoff-quality","tier":"recommended","learningResourceType":"Best practice guide","title":"Code review handoff quality","summary":"Improve review throughput by handing off pull requests with clear context, scope, risks, and verification evidence.","url":"https://www.gitorg.xyz/en/best-practices/code-review-handoff-quality","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/code-review-handoff-quality","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://google.github.io/eng-practices/review/reviewer/","https://google.github.io/eng-practices/review/developer/","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"commit-hygiene","path":"best-practices/commit-hygiene","tier":"core","learningResourceType":"Best practice guide","title":"Commit Hygiene and Messages","summary":"Keep commits as logically separate changesets and write messages that explain intent and motivation, so review, revert, and cherry-pick stay lightweight.","url":"https://www.gitorg.xyz/en/best-practices/commit-hygiene","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/commit-hygiene","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/docs/git-commit"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"commit-message-conventions","path":"best-practices/commit-message-conventions","tier":"recommended","learningResourceType":"Best practice guide","title":"Commit message conventions","summary":"Use a consistent commit message structure to improve log readability, release notes quality, and incident-time traceability.","url":"https://www.gitorg.xyz/en/best-practices/commit-message-conventions","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/commit-message-conventions","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://cbea.ms/git-commit/","https://git-scm.com/docs/git-commit","https://www.conventionalcommits.org/en/v1.0.0/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"commit-message-and-parents","path":"internals/commit-message-and-parents","tier":"extended","learningResourceType":"Technical explainer","title":"Commit Objects, Parents, and Messages","summary":"Show how commit objects connect trees, parent commits, and messages into the history graph.","url":"https://www.gitorg.xyz/en/internals/commit-message-and-parents","alternateUrl":"https://www.gitorg.xyz/zh/internals/commit-message-and-parents","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"long-lived-branch-conflict-governance","path":"workflows/long-lived-branch-conflict-governance","tier":"extended","learningResourceType":"Workflow tutorial","title":"Conflict Governance for Long-lived Branches","summary":"Turn repeated long-branch conflicts from ad hoc firefighting into a managed process with sync cadence, hotspot tracking, and reusable conflict resolution.","url":"https://www.gitorg.xyz/en/workflows/long-lived-branch-conflict-governance","alternateUrl":"https://www.gitorg.xyz/zh/workflows/long-lived-branch-conflict-governance","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Rerere","https://git-scm.com/docs/git-rerere","https://git-scm.com/docs/git-rebase"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"conflict-resolution-routine","path":"best-practices/conflict-resolution-routine","tier":"recommended","learningResourceType":"Best practice guide","title":"Conflict Resolution Routine","summary":"Turn conflict handling into a repeatable routine so fewer steps are missed under pressure.","url":"https://www.gitorg.xyz/en/best-practices/conflict-resolution-routine","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/conflict-resolution-routine","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-rebase"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"cross-repo-integration-workflow","path":"workflows/cross-repo-integration-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Cross-Repository Integration Workflow","summary":"Coordinate multi-repo changes with shared task IDs, dependency-aware release order, and integrated validation to reduce cross-repo breakage.","url":"https://www.gitorg.xyz/en/workflows/cross-repo-integration-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/cross-repo-integration-workflow","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes","https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"database-migration-safety-workflow","path":"workflows/database-migration-safety-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Database Migration Safety Workflow","summary":"Reduce schema-change risk by splitting migrations into reversible, observable stages instead of one irreversible release step.","url":"https://www.gitorg.xyz/en/workflows/database-migration-safety-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/database-migration-safety-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://martinfowler.com/articles/evodb.html","https://www.postgresql.org/docs/current/ddl-alter.html","https://git-scm.com/docs/git-revert"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"environment-and-repository-variables","path":"internals/environment-and-repository-variables","tier":"extended","learningResourceType":"Technical explainer","title":"Environment Variables and Repository Context","summary":"Variables like GIT_DIR, GIT_WORK_TREE, and GIT_INDEX_FILE help explain how Git decides what repository context it is actually operating in.","url":"https://www.gitorg.xyz/en/internals/environment-and-repository-variables","alternateUrl":"https://www.gitorg.xyz/zh/internals/environment-and-repository-variables","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables","https://git-scm.com/docs/gitrepository-layout"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"feature-branch-collaboration","path":"workflows/feature-branch-collaboration","tier":"core","learningResourceType":"Workflow tutorial","title":"Feature Branch Collaboration","summary":"A practical feature-branch workflow for day-to-day teamwork, from cutting the branch and syncing main to cleaning the stack before review.","url":"https://www.gitorg.xyz/en/workflows/feature-branch-collaboration","alternateUrl":"https://www.gitorg.xyz/zh/workflows/feature-branch-collaboration","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/docs/git-switch"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"feature-flag-rollout-workflow","path":"workflows/feature-flag-rollout-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Feature Flag Rollout Workflow","summary":"Decouple code merge from user exposure by rolling features out gradually behind flags, reducing one-shot release risk.","url":"https://www.gitorg.xyz/en/workflows/feature-flag-rollout-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/feature-flag-rollout-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://martinfowler.com/articles/feature-toggles.html","https://git-scm.com/docs/git-revert","https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"fetch-vs-pull","path":"workflows/fetch-vs-pull","tier":"core","learningResourceType":"Workflow tutorial","title":"fetch vs pull","summary":"Explains why fetch-first workflows are often more controllable than pulling directly.","url":"https://www.gitorg.xyz/en/workflows/fetch-vs-pull","alternateUrl":"https://www.gitorg.xyz/zh/workflows/fetch-vs-pull","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-pull.html","https://git-scm.com/docs/git-fetch.html"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"fetch-first-sync","path":"best-practices/fetch-first-sync","tier":"core","learningResourceType":"Best practice guide","title":"Fetch-First Sync","summary":"Separate observing remote state from mutating your local branch so integration choices stay explicit instead of being hidden inside default pull behavior.","url":"https://www.gitorg.xyz/en/best-practices/fetch-first-sync","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/fetch-first-sync","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull.html","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"first-feature-branch","path":"learning-path/first-feature-branch","tier":"core","learningResourceType":"Course module","title":"First Feature Branch","summary":"Move from a solo Git loop into the simplest collaboration rhythm: create a feature branch, commit work there, and keep an eye on the main branch.","url":"https://www.gitorg.xyz/en/docs/learning-path/first-feature-branch","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/first-feature-branch","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-branch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"first-safe-hotfix","path":"learning-path/first-safe-hotfix","tier":"core","learningResourceType":"Course module","title":"First safe hotfix","summary":"Learn a low-risk emergency fix routine: stabilize quickly, ship minimal change, backport to mainline, and avoid incident amplification.","url":"https://www.gitorg.xyz/en/docs/learning-path/first-safe-hotfix","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/first-safe-hotfix","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-revert"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"fix-wrong-author-or-commit-message","path":"recovery/fix-wrong-author-or-commit-message","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Fixing wrong author or commit message after commit","summary":"How to fix wrong author info, commit messages, or forgotten files after committing. Covers amend, interactive rebase, and batch author modification with filter-repo.","url":"https://www.gitorg.xyz/en/recovery/fix-wrong-author-or-commit-message","alternateUrl":"https://www.gitorg.xyz/zh/recovery/fix-wrong-author-or-commit-message","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-rebase","https://github.com/newren/git-filter-repo"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"focused-commits-and-topic-branch-hygiene","path":"best-practices/focused-commits-and-topic-branch-hygiene","tier":"extended","learningResourceType":"Best practice guide","title":"Focused Commits and Topic Branch Hygiene","summary":"When commit scope and branch scope stay clean, reviews move faster, rebases stay safer, and rollback boundaries become much easier to reason about.","url":"https://www.gitorg.xyz/en/best-practices/focused-commits-and-topic-branch-hygiene","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/focused-commits-and-topic-branch-hygiene","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/gitworkflows","https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"fork-upstream-sync","path":"workflows/fork-upstream-sync","tier":"extended","learningResourceType":"Workflow tutorial","title":"Fork and Upstream Sync","summary":"Keep origin and upstream roles clear when collaborating through a fork workflow.","url":"https://www.gitorg.xyz/en/workflows/fork-upstream-sync","alternateUrl":"https://www.gitorg.xyz/zh/workflows/fork-upstream-sync","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-remote"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"forks-and-open-source-contribution","path":"github/forks-and-open-source-contribution","tier":"extended","learningResourceType":"Platform tutorial","title":"Forks and Open Source Contribution","summary":"Connect forks, upstream sync, contribution expectations, and pull-request etiquette into a realistic open-source workflow.","url":"https://www.gitorg.xyz/en/github/forks-and-open-source-contribution","alternateUrl":"https://www.gitorg.xyz/zh/github/forks-and-open-source-contribution","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-open-source","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"ci-cd","sectionLabel":"CI/CD","slug":"github-actions-basics","path":"ci-cd/github-actions-basics","tier":"extended","learningResourceType":"Tutorial","title":"Git Actions & CI/CD Basics","summary":"An introduction to using Git with GitHub Actions for CI/CD pipelines, including trigger strategies, checkout action, Git context, and secure token management.","url":"https://www.gitorg.xyz/en/ci-cd/github-actions-basics","alternateUrl":"https://www.gitorg.xyz/zh/ci-cd/github-actions-basics","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://docs.github.com/en/actions","https://github.com/marketplace/actions/checkout"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-add","path":"commands/git-add","tier":"core","learningResourceType":"Reference guide","title":"git add Tutorial","summary":"Explains how git add stages changes for the next commit, how patch staging works, and how to avoid mixing unrelated edits into one commit.","url":"https://www.gitorg.xyz/en/commands/git-add","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-add","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-add","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"git-aliases","path":"best-practices/git-aliases","tier":"extended","learningResourceType":"Best practice guide","title":"Git aliases and productivity tips","summary":"Efficient Git alias configuration, common alias catalog, shell aliases, team-shared alias configuration, and best practices.","url":"https://www.gitorg.xyz/en/best-practices/git-aliases","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/git-aliases","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases","https://git-scm.com/docs/git-config"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-bisect","path":"commands/git-bisect","tier":"recommended","learningResourceType":"Reference guide","title":"git bisect","summary":"Use binary search across history to locate the commit that introduced a regression, making it one of the most valuable debugging commands in Git.","url":"https://www.gitorg.xyz/en/commands/git-bisect","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-bisect","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-bisect","https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-blame","path":"commands/git-blame","tier":"recommended","learningResourceType":"Reference guide","title":"git blame","summary":"Track which commit last changed each line in a file, making it useful for recovering context around why a line looks the way it does now.","url":"https://www.gitorg.xyz/en/commands/git-blame","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-blame","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-blame","https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-branch","path":"commands/git-branch","tier":"core","learningResourceType":"Reference guide","title":"git branch Tutorial","summary":"Covers how git branch lists, creates, renames, and deletes branches, and how it relates to remote-tracking branches.","url":"https://www.gitorg.xyz/en/commands/git-branch","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-branch","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-checkout","path":"commands/git-checkout","tier":"recommended","learningResourceType":"Reference guide","title":"git checkout Tutorial","summary":"Explains git checkout as the older multi-purpose command for branch switching and path restoration, and how it relates to switch and restore.","url":"https://www.gitorg.xyz/en/commands/git-checkout","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-checkout","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-checkout","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-cherry-pick","path":"commands/git-cherry-pick","tier":"core","learningResourceType":"Reference guide","title":"git cherry-pick Tutorial","summary":"Explains how to apply a selected commit onto the current branch and when cherry-pick is the right tool.","url":"https://www.gitorg.xyz/en/commands/git-cherry-pick","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-cherry-pick","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick.html","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-clean","path":"commands/git-clean","tier":"recommended","learningResourceType":"Reference guide","title":"git clean Tutorial","summary":"Explains how git clean removes untracked files and directories, and why dry-run and force flags are essential here.","url":"https://www.gitorg.xyz/en/commands/git-clean","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-clean","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-clean","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-clone","path":"commands/git-clone","tier":"core","learningResourceType":"Reference guide","title":"git clone Tutorial","summary":"Explains how git clone copies a repository, what origin means by default, and what local branch setup usually looks like after cloning.","url":"https://www.gitorg.xyz/en/commands/git-clone","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-clone","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"commit-graph","path":"internals/commit-graph","tier":"core","learningResourceType":"Technical explainer","title":"Git Commit Graph and History Shape","summary":"Understand why Git history is fundamentally a graph rather than a simple timeline, and how merge and rebase reshape that graph.","url":"https://www.gitorg.xyz/en/internals/commit-graph","alternateUrl":"https://www.gitorg.xyz/zh/internals/commit-graph","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Git-Branching-Rebasing"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-commit","path":"commands/git-commit","tier":"core","learningResourceType":"Reference guide","title":"git commit Tutorial","summary":"Explains how git commit creates new history nodes, how to write stronger messages, and when amend is safe versus risky.","url":"https://www.gitorg.xyz/en/commands/git-commit","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-commit","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-diff","path":"commands/git-diff","tier":"recommended","learningResourceType":"Reference guide","title":"git diff Tutorial","summary":"Explains how git diff compares working tree, index, and commit states, how to read the most useful forms, and how to avoid checking the wrong layer.","url":"https://www.gitorg.xyz/en/commands/git-diff","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-diff","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-diff","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-fetch","path":"commands/git-fetch","tier":"core","learningResourceType":"Reference guide","title":"git fetch Tutorial","summary":"Explains how git fetch updates remote refs, why it is often safer than pull, and where it fits in a daily sync workflow.","url":"https://www.gitorg.xyz/en/commands/git-fetch","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-fetch","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-history","path":"concepts/git-history","tier":"core","learningResourceType":"Concept guide","title":"Git History Explained","summary":"Explains how Git records history, why commit history is a graph, and what that means for collaboration, recovery, and code review.","url":"https://www.gitorg.xyz/en/history","alternateUrl":"https://www.gitorg.xyz/zh/history","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects","https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-hooks","path":"concepts/git-hooks","tier":"extended","learningResourceType":"Concept guide","title":"Git Hooks: Automating Git Workflows","summary":"A practical guide to Git hooks, covering client-side and server-side hooks, common use cases, and best practices for hook management.","url":"https://www.gitorg.xyz/en/docs/concepts/git-hooks","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-hooks","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks","https://git-scm.com/docs/githooks"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-init","path":"commands/git-init","tier":"core","learningResourceType":"Reference guide","title":"git init Tutorial","summary":"Explains how git init creates a repository, how the initial branch is defined, and how it is used for both new and existing directories.","url":"https://www.gitorg.xyz/en/commands/git-init","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-init","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-init","https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-log","path":"commands/git-log","tier":"core","learningResourceType":"Reference guide","title":"git log Tutorial","summary":"Shows how git log inspects commit history, graph structure, authorship, and filtered history for debugging, review, and recovery.","url":"https://www.gitorg.xyz/en/commands/git-log","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-log","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-log","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"merge-strategies","path":"concepts/merge-strategies","tier":"extended","learningResourceType":"Concept guide","title":"Git Merge Strategies Explained","summary":"A systematic introduction to Git merge strategies — recursive, ort, octopus, ours, subtree — what problems they solve and how to choose.","url":"https://www.gitorg.xyz/en/docs/concepts/merge-strategies","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/merge-strategies","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/merge-strategies","https://git-scm.com/docs/git-merge","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-merge","path":"commands/git-merge","tier":"core","learningResourceType":"Reference guide","title":"git merge Tutorial","summary":"Explains the purpose of git merge, the difference between fast-forward and merge commits, and how to handle conflicts.","url":"https://www.gitorg.xyz/en/commands/git-merge","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-merge","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-merge.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.html"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-mv","path":"commands/git-mv","tier":"extended","learningResourceType":"Reference guide","title":"git mv","summary":"Rename or move tracked files while keeping the index in sync, which makes large refactors easier to stage consistently.","url":"https://www.gitorg.xyz/en/commands/git-mv","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-mv","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-mv","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"object-database","path":"internals/object-database","tier":"core","learningResourceType":"Technical explainer","title":"Git Object Database","summary":"Understand blob, tree, commit, and tag objects, and why Git describes itself as a content-addressable object database.","url":"https://www.gitorg.xyz/en/internals/object-database","alternateUrl":"https://www.gitorg.xyz/zh/internals/object-database","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"packfiles-and-storage","path":"internals/packfiles-and-storage","tier":"recommended","learningResourceType":"Technical explainer","title":"Git Packfiles and Object Storage","summary":"Learn how Git uses packfiles, compression, and object reuse to store and transfer history efficiently instead of copying full project snapshots every time.","url":"https://www.gitorg.xyz/en/internals/packfiles-and-storage","alternateUrl":"https://www.gitorg.xyz/zh/internals/packfiles-and-storage","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Packfiles","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"hosting","sectionLabel":"Hosting","slug":"platform-comparison","path":"hosting/platform-comparison","tier":"extended","learningResourceType":"Comparison guide","title":"Git Platform Comparison: GitHub vs GitLab vs Bitbucket","summary":"A systematic comparison of GitHub, GitLab, and Bitbucket's features, pricing, CI/CD integration, and collaboration models to help you choose the right platform.","url":"https://www.gitorg.xyz/en/hosting/platform-comparison","alternateUrl":"https://www.gitorg.xyz/zh/hosting/platform-comparison","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en","https://docs.gitlab.com/","https://bitbucket.org/product/guides"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-pull","path":"commands/git-pull","tier":"core","learningResourceType":"Reference guide","title":"git pull Tutorial","summary":"Explains git pull as fetch plus integration, when pull is convenient, when fetch-first is safer, and how rebase or ff-only change the outcome.","url":"https://www.gitorg.xyz/en/commands/git-pull","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-pull","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-pull","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-push","path":"commands/git-push","tier":"core","learningResourceType":"Reference guide","title":"git push Tutorial","summary":"Explains how git push publishes local branches, how upstream tracking works, and how to reason about safe versus risky publication.","url":"https://www.gitorg.xyz/en/commands/git-push","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-push","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"quick-start","path":"learning-path/quick-start","tier":"core","learningResourceType":"Course module","title":"Git Quick Start Series","summary":"Turn Git quick start into a small guided series: prepare your environment, learn staging and commit, understand remote sync, and open your first feature branch.","url":"https://www.gitorg.xyz/en/learning-path","alternateUrl":"https://www.gitorg.xyz/zh/learning-path","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Summary","https://git-scm.com/docs/git-clone","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-rebase","path":"commands/git-rebase","tier":"core","learningResourceType":"Reference guide","title":"git rebase Tutorial","summary":"Explains the core model of git rebase, recommended workflows, risks, and recovery options.","url":"https://www.gitorg.xyz/en/commands/git-rebase","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-rebase","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-rebase.html","https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-pull.html"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"refs-and-head","path":"internals/refs-and-head","tier":"core","learningResourceType":"Technical explainer","title":"Git References and HEAD","summary":"Put branches, tags, remote-tracking refs, and HEAD into one model so Git's pointer behavior becomes easier to reason about.","url":"https://www.gitorg.xyz/en/internals/refs-and-head","alternateUrl":"https://www.gitorg.xyz/zh/internals/refs-and-head","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-reflog","path":"commands/git-reflog","tier":"core","learningResourceType":"Reference guide","title":"git reflog","summary":"Read reference movement history, which makes reflog one of the most important commands for recovery after reset, rebase, and branch mistakes.","url":"https://www.gitorg.xyz/en/commands/git-reflog","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-reflog","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Internals-Git-References"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-remote","path":"commands/git-remote","tier":"recommended","learningResourceType":"Reference guide","title":"git remote Tutorial","summary":"Explains how git remote lists, adds, renames, and removes remote definitions, and how origin fits into common collaboration flows.","url":"https://www.gitorg.xyz/en/commands/git-remote","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-remote","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-remote","https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-reset","path":"commands/git-reset","tier":"core","learningResourceType":"Reference guide","title":"git reset Tutorial","summary":"Explains how git reset moves HEAD, updates the index, and optionally overwrites the working tree through soft, mixed, and hard modes.","url":"https://www.gitorg.xyz/en/commands/git-reset","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-reset","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-reset.html","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified.html"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-restore","path":"commands/git-restore","tier":"core","learningResourceType":"Reference guide","title":"git restore Tutorial","summary":"Explains how git restore recovers file state in the working tree or index, and how it differs from reset and checkout.","url":"https://www.gitorg.xyz/en/commands/git-restore","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-restore","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-restore","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-revert","path":"commands/git-revert","tier":"core","learningResourceType":"Reference guide","title":"git revert Tutorial","summary":"Explains why git revert is the safe way to undo shared commits, and how it differs from reset at the history level.","url":"https://www.gitorg.xyz/en/commands/git-revert","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-revert","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/book/en/v2/Git-Basics-Undoing-Things"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-rm","path":"commands/git-rm","tier":"extended","learningResourceType":"Reference guide","title":"git rm","summary":"Remove tracked files and stage that removal, which makes it easier to separate filesystem deletion from Git history changes.","url":"https://www.gitorg.xyz/en/commands/git-rm","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-rm","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-rm","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-show","path":"commands/git-show","tier":"recommended","learningResourceType":"Reference guide","title":"git show","summary":"Inspect a specific commit, tag, or object in detail, making it one of the most useful commands for reading history precisely.","url":"https://www.gitorg.xyz/en/commands/git-show","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-show","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-show","https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-stash","path":"commands/git-stash","tier":"core","learningResourceType":"Reference guide","title":"git stash Tutorial","summary":"Explains how to temporarily shelve local changes with git stash and later inspect, restore, or remove stash entries.","url":"https://www.gitorg.xyz/en/commands/git-stash","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-stash","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-stash.html","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning.html"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"stash","path":"concepts/stash","tier":"extended","learningResourceType":"Concept guide","title":"Git Stash: Temporary Work Context Storage","summary":"A systematic explanation of git stash — what it is, when to use it, its limitations, and how to safely manage temporary work context.","url":"https://www.gitorg.xyz/en/docs/concepts/stash","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/stash","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-stash","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-status","path":"commands/git-status","tier":"core","learningResourceType":"Reference guide","title":"git status Tutorial","summary":"Covers how git status shows working tree, staging area, and branch state, and why it should be part of nearly every Git workflow.","url":"https://www.gitorg.xyz/en/commands/git-status","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-status","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-status","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-subtree","path":"concepts/git-subtree","tier":"extended","learningResourceType":"Concept guide","title":"Git Subtree: Managing Nested Repositories","summary":"A practical comparison of git subtree vs git submodule, and how to use subtree for embedding and synchronizing external projects.","url":"https://www.gitorg.xyz/en/docs/concepts/git-subtree","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-subtree","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Submodules","https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-switch","path":"commands/git-switch","tier":"core","learningResourceType":"Reference guide","title":"git switch Tutorial","summary":"Introduces git switch as the dedicated branch-switching command and clarifies how it differs from checkout.","url":"https://www.gitorg.xyz/en/commands/git-switch","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-switch","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-tag","path":"commands/git-tag","tier":"recommended","learningResourceType":"Reference guide","title":"git tag Tutorial","summary":"Introduces git tag for release points, explains lightweight versus annotated tags, and covers basic tag publishing.","url":"https://www.gitorg.xyz/en/commands/git-tag","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-tag","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Git-Basics-Tagging"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"worktree","path":"concepts/worktree","tier":"extended","learningResourceType":"Concept guide","title":"Git Worktree: Parallel Working Directories","summary":"A systematic explanation of Git worktree — how to check out multiple branches into different directories simultaneously, the problems it solves, and when to use it.","url":"https://www.gitorg.xyz/en/docs/concepts/worktree","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/worktree","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/book/en/v2/Git-Tools-Working-with-Worktrees"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-am","path":"commands/git-am","tier":"extended","learningResourceType":"Reference guide","title":"git-am Tutorial","summary":"Apply mailbox patch series as real commits, preserving author/message metadata in patch-by-email workflows.","url":"https://www.gitorg.xyz/en/commands/git-am","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-am","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-am"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-apply","path":"commands/git-apply","tier":"extended","learningResourceType":"Reference guide","title":"git-apply Tutorial","summary":"Explains how to use git-apply to apply patch content to the working tree or index.","url":"https://www.gitorg.xyz/en/commands/git-apply","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-apply","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-apply"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-archive","path":"commands/git-archive","tier":"extended","learningResourceType":"Reference guide","title":"git-archive Tutorial","summary":"Explains how to use git-archive to export an archive from a commit or tree object.","url":"https://www.gitorg.xyz/en/commands/git-archive","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-archive","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-archive"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-bundle","path":"commands/git-bundle","tier":"extended","learningResourceType":"Reference guide","title":"git-bundle Tutorial","summary":"Package Git history into a single transferable file for offline or restricted-network exchange when direct fetch/push is unavailable.","url":"https://www.gitorg.xyz/en/commands/git-bundle","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-bundle","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-bundle"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-cat-file","path":"commands/git-cat-file","tier":"extended","learningResourceType":"Reference guide","title":"git-cat-file Tutorial","summary":"Explains how to use git-cat-file to inspect Git object types and contents directly.","url":"https://www.gitorg.xyz/en/commands/git-cat-file","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-cat-file","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-cat-file"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-cherry","path":"commands/git-cherry","tier":"extended","learningResourceType":"Reference guide","title":"git-cherry Tutorial","summary":"Explains how to use git-cherry to check which commits have not yet been integrated elsewhere.","url":"https://www.gitorg.xyz/en/commands/git-cherry","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-cherry","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-cherry"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-config","path":"commands/git-config","tier":"extended","learningResourceType":"Reference guide","title":"git-config Tutorial","summary":"Explains how to use git-config to inspect and edit Git configuration.","url":"https://www.gitorg.xyz/en/commands/git-config","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-config","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-config","https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-count-objects","path":"commands/git-count-objects","tier":"extended","learningResourceType":"Reference guide","title":"git-count-objects Tutorial","summary":"Explains how to use git-count-objects to count loose objects and pack usage.","url":"https://www.gitorg.xyz/en/commands/git-count-objects","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-count-objects","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-count-objects"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-describe","path":"commands/git-describe","tier":"extended","learningResourceType":"Reference guide","title":"git-describe Tutorial","summary":"Explains how to use git-describe to describe a commit by the nearest reachable tag.","url":"https://www.gitorg.xyz/en/commands/git-describe","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-describe","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-describe"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-difftool","path":"commands/git-difftool","tier":"extended","learningResourceType":"Reference guide","title":"git-difftool Tutorial","summary":"Use an external graphical tool to view diffs, improving code review and conflict comprehension efficiency.","url":"https://www.gitorg.xyz/en/commands/git-difftool","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-difftool","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-difftool"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-format-patch","path":"commands/git-format-patch","tier":"extended","learningResourceType":"Reference guide","title":"git-format-patch Tutorial","summary":"Explains how to use git-format-patch to export commits as patch files.","url":"https://www.gitorg.xyz/en/commands/git-format-patch","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-format-patch","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-format-patch","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-fsck","path":"commands/git-fsck","tier":"extended","learningResourceType":"Reference guide","title":"git-fsck Tutorial","summary":"Explains how to use git-fsck to verify the integrity of objects and refs.","url":"https://www.gitorg.xyz/en/commands/git-fsck","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-fsck","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-fsck"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-gc","path":"commands/git-gc","tier":"extended","learningResourceType":"Reference guide","title":"git-gc Tutorial","summary":"Explains how to use git-gc to run garbage collection and housekeeping.","url":"https://www.gitorg.xyz/en/commands/git-gc","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-gc","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-gc"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-grep","path":"commands/git-grep","tier":"extended","learningResourceType":"Reference guide","title":"git-grep Tutorial","summary":"Explains how to use git-grep to search text inside the repository.","url":"https://www.gitorg.xyz/en/commands/git-grep","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-grep","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-grep","https://git-scm.com/book/en/v2/Git-Tools-Searching"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-hash-object","path":"commands/git-hash-object","tier":"extended","learningResourceType":"Reference guide","title":"git-hash-object Tutorial","summary":"Compute the Git object ID (SHA-1) for a file or stdin, helping understand Git's content-addressing model.","url":"https://www.gitorg.xyz/en/commands/git-hash-object","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-hash-object","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-hash-object"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-help","path":"commands/git-help","tier":"extended","learningResourceType":"Reference guide","title":"git-help Tutorial","summary":"Explains how to use git-help to open command help and man pages.","url":"https://www.gitorg.xyz/en/commands/git-help","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-help","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-help"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-interpret-trailers","path":"commands/git-interpret-trailers","tier":"extended","learningResourceType":"Reference guide","title":"git-interpret-trailers Tutorial","summary":"Parse, add, or normalize trailer fields in commit messages, such as Co-authored-by and Signed-off-by.","url":"https://www.gitorg.xyz/en/commands/git-interpret-trailers","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-interpret-trailers","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-interpret-trailers"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-ls-files","path":"commands/git-ls-files","tier":"extended","learningResourceType":"Reference guide","title":"git-ls-files Tutorial","summary":"Explains how to use git-ls-files to list tracked paths from the index and working tree.","url":"https://www.gitorg.xyz/en/commands/git-ls-files","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-ls-files","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-ls-files"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-ls-tree","path":"commands/git-ls-tree","tier":"extended","learningResourceType":"Reference guide","title":"git-ls-tree Tutorial","summary":"Explains how to use git-ls-tree to list entries inside a tree object.","url":"https://www.gitorg.xyz/en/commands/git-ls-tree","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-ls-tree","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-ls-tree"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-merge-base","path":"commands/git-merge-base","tier":"extended","learningResourceType":"Reference guide","title":"git-merge-base Tutorial","summary":"Explains how to use git-merge-base to find the best common ancestor between histories.","url":"https://www.gitorg.xyz/en/commands/git-merge-base","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-merge-base","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-mergetool","path":"commands/git-mergetool","tier":"extended","learningResourceType":"Reference guide","title":"git-mergetool Tutorial","summary":"Explains how to use git-mergetool to launch an external merge tool for conflict resolution.","url":"https://www.gitorg.xyz/en/commands/git-mergetool","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-mergetool","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-mergetool"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-notes","path":"commands/git-notes","tier":"extended","learningResourceType":"Reference guide","title":"git-notes Tutorial","summary":"Attach audit or review annotations to commits without rewriting commit objects, useful when teams need extra context without history mutation.","url":"https://www.gitorg.xyz/en/commands/git-notes","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-notes","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-notes"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-prune","path":"commands/git-prune","tier":"extended","learningResourceType":"Reference guide","title":"git-prune Tutorial","summary":"Clean up unreachable Git objects, working with gc and reflog to manage repository object lifecycle.","url":"https://www.gitorg.xyz/en/commands/git-prune","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-prune","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-prune"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-range-diff","path":"commands/git-range-diff","tier":"extended","learningResourceType":"Reference guide","title":"git-range-diff Tutorial","summary":"Compare two patch series (not just final file states), especially useful after rebase or commit reshaping when reviewers ask what changed between v1 and v2.","url":"https://www.gitorg.xyz/en/commands/git-range-diff","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-range-diff","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-range-diff"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-read-tree","path":"commands/git-read-tree","tier":"extended","learningResourceType":"Reference guide","title":"git-read-tree Tutorial","summary":"Explains how to use git-read-tree to read tree objects into the index for lower-level operations.","url":"https://www.gitorg.xyz/en/commands/git-read-tree","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-read-tree","lastModified":"2026-05-24T11:46:17.257Z","sourceUrls":["https://git-scm.com/docs/git-read-tree"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-replace","path":"commands/git-replace","tier":"extended","learningResourceType":"Reference guide","title":"git-replace Tutorial","summary":"Replace a commit object without rewriting history, useful for repository splitting or fixing specific nodes in history.","url":"https://www.gitorg.xyz/en/commands/git-replace","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-replace","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-replace"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-request-pull","path":"commands/git-request-pull","tier":"extended","learningResourceType":"Reference guide","title":"git-request-pull Tutorial","summary":"Generate a pull summary that tells maintainers what to fetch from which base and branch, useful in email-driven or traditional maintainer workflows.","url":"https://www.gitorg.xyz/en/commands/git-request-pull","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-request-pull","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-request-pull","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-rerere","path":"commands/git-rerere","tier":"extended","learningResourceType":"Reference guide","title":"git-rerere Tutorial","summary":"Enable and reuse conflict resolutions to reduce repeated manual work for the same conflicts.","url":"https://www.gitorg.xyz/en/commands/git-rerere","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-rerere","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-rerere"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-rev-list","path":"commands/git-rev-list","tier":"extended","learningResourceType":"Reference guide","title":"git-rev-list Tutorial","summary":"Explains how to use git-rev-list to enumerate commit sets in a script-friendly way.","url":"https://www.gitorg.xyz/en/commands/git-rev-list","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-rev-list","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-rev-list"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-rev-parse","path":"commands/git-rev-parse","tier":"extended","learningResourceType":"Reference guide","title":"git-rev-parse Tutorial","summary":"Explains how to use git-rev-parse to parse revision expressions and repository path details.","url":"https://www.gitorg.xyz/en/commands/git-rev-parse","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-rev-parse","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-rev-parse","https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-send-email","path":"commands/git-send-email","tier":"extended","learningResourceType":"Reference guide","title":"git-send-email Tutorial","summary":"Send patch series produced by `format-patch` through email while preserving commit boundaries and thread context.","url":"https://www.gitorg.xyz/en/commands/git-send-email","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-send-email","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-send-email","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-shortlog","path":"commands/git-shortlog","tier":"extended","learningResourceType":"Reference guide","title":"git-shortlog Tutorial","summary":"Explains how to use git-shortlog to summarize commit history by author and subject.","url":"https://www.gitorg.xyz/en/commands/git-shortlog","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-shortlog","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-shortlog","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-show-ref","path":"commands/git-show-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-show-ref Tutorial","summary":"Explains how to use git-show-ref to list refs and the objects they point to.","url":"https://www.gitorg.xyz/en/commands/git-show-ref","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-show-ref","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-show-ref"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-sparse-checkout","path":"commands/git-sparse-checkout","tier":"extended","learningResourceType":"Reference guide","title":"git-sparse-checkout Tutorial","summary":"Explains how to use git-sparse-checkout to check out only selected paths from a repository.","url":"https://www.gitorg.xyz/en/commands/git-sparse-checkout","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-sparse-checkout","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-sparse-checkout"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-submodule","path":"commands/git-submodule","tier":"recommended","learningResourceType":"Reference guide","title":"git-submodule Tutorial","summary":"Manage external repository pointers inside a parent repository, with emphasis on committing submodule pointer updates in the superproject.","url":"https://www.gitorg.xyz/en/commands/git-submodule","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-submodule","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-submodule","https://git-scm.com/book/en/v2/Git-Tools-Submodules"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-symbolic-ref","path":"commands/git-symbolic-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-symbolic-ref Tutorial","summary":"Explains how to use git-symbolic-ref to read or update symbolic refs such as HEAD.","url":"https://www.gitorg.xyz/en/commands/git-symbolic-ref","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-symbolic-ref","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-symbolic-ref"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-update-index","path":"commands/git-update-index","tier":"extended","learningResourceType":"Reference guide","title":"git-update-index Tutorial","summary":"Explains how to use git-update-index to update index entries and attributes directly.","url":"https://www.gitorg.xyz/en/commands/git-update-index","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-update-index","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-update-index"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-update-ref","path":"commands/git-update-ref","tier":"extended","learningResourceType":"Reference guide","title":"git-update-ref Tutorial","summary":"Explains how to use git-update-ref to update refs through a lower-level interface.","url":"https://www.gitorg.xyz/en/commands/git-update-ref","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-update-ref","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-update-ref"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-verify-pack","path":"commands/git-verify-pack","tier":"extended","learningResourceType":"Reference guide","title":"git-verify-pack Tutorial","summary":"Explains how to use git-verify-pack to inspect objects stored inside a pack file.","url":"https://www.gitorg.xyz/en/commands/git-verify-pack","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-verify-pack","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-verify-pack"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-verify-tag","path":"commands/git-verify-tag","tier":"extended","learningResourceType":"Reference guide","title":"git-verify-tag Tutorial","summary":"Explains how to use git-verify-tag to verify signed tag authenticity.","url":"https://www.gitorg.xyz/en/commands/git-verify-tag","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-verify-tag","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-verify-tag"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"commands","sectionLabel":"Git Commands","slug":"git-worktree","path":"commands/git-worktree","tier":"recommended","learningResourceType":"Reference guide","title":"git-worktree Tutorial","summary":"Create parallel working directories for one repository to reduce stash/switch friction and improve multi-task flow.","url":"https://www.gitorg.xyz/en/commands/git-worktree","alternateUrl":"https://www.gitorg.xyz/zh/commands/git-worktree","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-worktree"],"citationGuidance":"Best cited for command syntax, risk boundaries, and common usage patterns."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"three-layers","path":"concepts/three-layers","tier":"extended","learningResourceType":"Concept guide","title":"Git's Three-Layer Model: Working Tree, Index, and Objects","summary":"Explain Git's core three-layer architecture — Working Tree, Index (Staging Area), and Objects Database — and how they work together.","url":"https://www.gitorg.xyz/en/docs/concepts/three-layers","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/three-layers","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F","https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"gitflow-workflow","path":"workflows/gitflow-workflow","tier":"core","learningResourceType":"Workflow tutorial","title":"Gitflow Workflow","summary":"Use Atlassian's Gitflow explanation to clarify the roles of main, develop, feature, release, and hotfix branches, plus where Gitflow still fits today.","url":"https://www.gitorg.xyz/en/workflows/gitflow-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/gitflow-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"github-actions-and-skills","path":"github/github-actions-and-skills","tier":"extended","learningResourceType":"Platform tutorial","title":"GitHub Actions and GitHub Skills","summary":"Build a practical mental model for GitHub Actions and use GitHub Skills as a lower-risk practice path for platform learning.","url":"https://www.gitorg.xyz/en/github/github-actions-and-skills","alternateUrl":"https://www.gitorg.xyz/zh/github/github-actions-and-skills","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/actions/get-started/quickstart","https://skills.github.com"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"github-branch-protection-and-rulesets","path":"github/github-branch-protection-and-rulesets","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub branch protection and rulesets","summary":"Use branch protection and rulesets to enforce merge policy at platform level instead of relying on informal team habits.","url":"https://www.gitorg.xyz/en/github/github-branch-protection-and-rulesets","alternateUrl":"https://www.gitorg.xyz/zh/github/github-branch-protection-and-rulesets","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches","https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"github-codeowners-and-review-ownership","path":"github/github-codeowners-and-review-ownership","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub CODEOWNERS and review ownership","summary":"Use CODEOWNERS to route pull-request review to responsible maintainers and reduce ownership gaps on critical code paths.","url":"https://www.gitorg.xyz/en/github/github-codeowners-and-review-ownership","alternateUrl":"https://www.gitorg.xyz/zh/github/github-codeowners-and-review-ownership","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/code-review/about-pull-request-reviews"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"github-flow-basics","path":"github/github-flow-basics","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitHub Flow Basics","summary":"Use GitHub's own lightweight collaboration model to understand branches, pull requests, reviews, and merges as one practical loop.","url":"https://www.gitorg.xyz/en/github/github-flow-basics","alternateUrl":"https://www.gitorg.xyz/zh/github/github-flow-basics","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/get-started/using-github/github-flow","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"ci-cd","sectionLabel":"CI/CD","slug":"gitlab-ci-basics","path":"ci-cd/gitlab-ci-basics","tier":"extended","learningResourceType":"Tutorial","title":"GitLab CI & Git Integration","summary":"Understanding how GitLab CI/CD integrates with Git, including pipeline triggers, CI_JOB_TOKEN, Git strategy, and workflow rules based on Git data.","url":"https://www.gitorg.xyz/en/ci-cd/gitlab-ci-basics","alternateUrl":"https://www.gitorg.xyz/zh/ci-cd/gitlab-ci-basics","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://docs.gitlab.com/ee/ci/","https://docs.gitlab.com/ee/user/project/repository/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-ci-and-runners","path":"gitlab/gitlab-ci-and-runners","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab CI/CD and Runners","summary":"Build a stronger mental model for GitLab CI/CD, pipelines, jobs, and runners, and understand how they shape merge request readiness.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-ci-and-runners","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-ci-and-runners","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/ci/quick_start/","https://docs.gitlab.com/ci/runners/","https://docs.gitlab.com/ci/pipelines/merge_request_pipelines/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-flow-and-merge-requests","path":"gitlab/gitlab-flow-and-merge-requests","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab Flow and Merge Requests","summary":"Understand GitLab Flow, environment-aware branching, and merge requests as one delivery model instead of a collection of UI features.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-flow-and-merge-requests","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-flow-and-merge-requests","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/topics/gitlab_flow/","https://docs.gitlab.com/user/project/merge_requests/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-forks-and-contributions","path":"gitlab/gitlab-forks-and-contributions","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Forks and Contribution Flow","summary":"Connect GitLab forks, contribution branches, merge requests, and upstream sync into a realistic external contribution workflow with permission and CI boundaries.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-forks-and-contributions","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-forks-and-contributions","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/user/project/repository/forking_workflow/","https://docs.gitlab.com/user/project/merge_requests/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-groups-projects-and-permissions","path":"gitlab/gitlab-groups-projects-and-permissions","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Groups, Projects, and Permissions","summary":"Understand how groups, projects, roles, and inherited permissions shape collaboration boundaries in GitLab before those boundaries become messy.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-groups-projects-and-permissions","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-groups-projects-and-permissions","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/user/group/","https://docs.gitlab.com/user/project/","https://docs.gitlab.com/auth/user_permissions/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-issues-boards-and-milestones","path":"gitlab/gitlab-issues-boards-and-milestones","tier":"extended","learningResourceType":"Platform tutorial","title":"GitLab Issues, Boards, and Milestones","summary":"Learn how GitLab issues, boards, and milestones turn project planning into a visible delivery system instead of forcing all context into merge requests.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-issues-boards-and-milestones","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-issues-boards-and-milestones","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/user/project/issues/","https://docs.gitlab.com/user/project/issue_board/","https://docs.gitlab.com/user/project/milestones/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-merge-trains-and-merge-result-pipelines","path":"gitlab/gitlab-merge-trains-and-merge-result-pipelines","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab merge trains and merged result pipelines","summary":"Use merge trains and merged-result pipelines to validate integration reality before merge, especially under high parallel MR traffic.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-merge-trains-and-merge-result-pipelines","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-merge-trains-and-merge-result-pipelines","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/ee/ci/pipelines/merge_trains/","https://docs.gitlab.com/ee/ci/pipelines/merged_results_pipelines.html"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"gitlab","sectionLabel":"GitLab","slug":"gitlab-protected-branches-and-approval-rules","path":"gitlab/gitlab-protected-branches-and-approval-rules","tier":"recommended","learningResourceType":"Platform tutorial","title":"GitLab protected branches and approval rules","summary":"Combine protected branches with merge-request approval rules to reduce risky direct writes and improve merge accountability.","url":"https://www.gitorg.xyz/en/gitlab/gitlab-protected-branches-and-approval-rules","alternateUrl":"https://www.gitorg.xyz/zh/gitlab/gitlab-protected-branches-and-approval-rules","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/ee/user/project/protected_branches.html","https://docs.gitlab.com/ee/user/project/merge_requests/approvals/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"security","sectionLabel":"Security","slug":"gpg-signing","path":"security/gpg-signing","tier":"extended","learningResourceType":"Best practice guide","title":"GPG Signing & Git Commit Verification","summary":"A systematic guide to signing Git commits and tags with GPG, configuring verification, and enforcing signing policies in teams.","url":"https://www.gitorg.xyz/en/security/gpg-signing","alternateUrl":"https://www.gitorg.xyz/zh/security/gpg-signing","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://docs.github.com/en/authentication/managing-commit-signature-verification","https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"handle-review-feedback","path":"learning-path/handle-review-feedback","tier":"core","learningResourceType":"Course module","title":"Handle review feedback","summary":"Learn a practical review-feedback loop: classify comments, apply focused updates in batches, and keep PR context easy to re-evaluate.","url":"https://www.gitorg.xyz/en/docs/learning-path/handle-review-feedback","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/handle-review-feedback","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/code-review/about-pull-request-reviews","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"hooks-and-policy-enforcement","path":"internals/hooks-and-policy-enforcement","tier":"recommended","learningResourceType":"Technical explainer","title":"Hooks and policy enforcement","summary":"Use local and server-side hooks with clear responsibility boundaries to turn collaboration policy from convention into enforcement.","url":"https://www.gitorg.xyz/en/internals/hooks-and-policy-enforcement","alternateUrl":"https://www.gitorg.xyz/zh/internals/hooks-and-policy-enforcement","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/docs/githooks","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"hotfix-and-urgent-fixes","path":"workflows/hotfix-and-urgent-fixes","tier":"core","learningResourceType":"Workflow tutorial","title":"Hotfix and Urgent Fixes","summary":"Handle urgent fixes on a stable base, ship the smallest repair possible, and then flow that repair back into the branches that still need it.","url":"https://www.gitorg.xyz/en/workflows/hotfix-and-urgent-fixes","alternateUrl":"https://www.gitorg.xyz/zh/workflows/hotfix-and-urgent-fixes","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project","https://git-scm.com/docs/git-branch"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-cherry-pick","path":"recovery/recover-after-cherry-pick","tier":"extended","learningResourceType":"Troubleshooting guide","title":"How to recover from a failed cherry-pick","summary":"Complete recovery workflow when cherry-pick encounters conflicts, gets aborted, or produces unexpected results. Covers --abort, --continue, --skip, and post-cherry-pick remediation.","url":"https://www.gitorg.xyz/en/recovery/recover-after-cherry-pick","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-cherry-pick","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"undo-merge-commit","path":"recovery/undo-merge-commit","tier":"extended","learningResourceType":"Troubleshooting guide","title":"How to undo a merge commit","summary":"Correct methods for undoing a merge commit when things go wrong. Deep dive into git revert -m and the parent numbering system, plus common pitfalls.","url":"https://www.gitorg.xyz/en/recovery/undo-merge-commit","alternateUrl":"https://www.gitorg.xyz/zh/recovery/undo-merge-commit","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-merge","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"incident-retro-to-guardrail-workflow","path":"workflows/incident-retro-to-guardrail-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Incident Retro to Guardrail Workflow","summary":"Turn postmortem findings into enforceable CI, release, and runtime guardrails so lessons reduce future incident probability.","url":"https://www.gitorg.xyz/en/workflows/incident-retro-to-guardrail-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/incident-retro-to-guardrail-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://sre.google/sre-book/postmortem-culture/","https://sre.google/workbook/postmortem-culture/","https://git-scm.com/docs/git-hook"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"issues-projects-and-discussions","path":"github/issues-projects-and-discussions","tier":"extended","learningResourceType":"Platform tutorial","title":"Issues, Projects, and Discussions","summary":"Learn how GitHub organizes requests, work tracking, and community discussion so collaboration does not collapse into pull requests alone.","url":"https://www.gitorg.xyz/en/github/issues-projects-and-discussions","alternateUrl":"https://www.gitorg.xyz/zh/github/issues-projects-and-discussions","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues","https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects","https://docs.github.com/en/discussions/quickstart"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"ide","sectionLabel":"IDE","slug":"jetbrains-git","path":"ide/jetbrains-git","tier":"extended","learningResourceType":"Tutorial","title":"JetBrains IDE Git Integration","summary":"Master Git operations in JetBrains IDEs including the Commit tool window, Annotate, Log, interactive rebase, and conflict resolution.","url":"https://www.gitorg.xyz/en/ide/jetbrains-git","alternateUrl":"https://www.gitorg.xyz/zh/ide/jetbrains-git","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://www.jetbrains.com/help/idea/version-control-integration.html","https://www.jetbrains.com/help/idea/commit-and-push-changes.html"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"large-file-handling-workflow","path":"workflows/large-file-handling-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Large File Handling Workflow","summary":"Use Git LFS, sparse checkout, and repository-splitting strategies to manage large files while keeping clone speed and history maintainable.","url":"https://www.gitorg.xyz/en/workflows/large-file-handling-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/large-file-handling-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-lfs.com/","https://git-scm.com/docs/git-sparse-checkout"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"performance","sectionLabel":"Performance","slug":"large-repo-optimization","path":"performance/large-repo-optimization","tier":"extended","learningResourceType":"Technical guide","title":"Large Repository Performance Optimization","summary":"Strategies for optimizing Git performance in large repositories, including partial clone, sparse checkout, shallow clone, git gc, and Git LFS.","url":"https://www.gitorg.xyz/en/performance/large-repo-optimization","alternateUrl":"https://www.gitorg.xyz/zh/performance/large-repo-optimization","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/partial-clone","https://git-scm.com/docs/git-sparse-checkout","https://git-scm.com/docs/git-gc"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"long-lived-branch-maintenance","path":"workflows/long-lived-branch-maintenance","tier":"extended","learningResourceType":"Workflow tutorial","title":"Maintaining Long-lived Branches","summary":"Show how long-lived branches can stay aligned with main and avoid painful late merges.","url":"https://www.gitorg.xyz/en/workflows/long-lived-branch-maintenance","alternateUrl":"https://www.gitorg.xyz/zh/workflows/long-lived-branch-maintenance","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-merge"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-lfs","path":"concepts/git-lfs","tier":"extended","learningResourceType":"Concept guide","title":"Managing Large Files with Git LFS","summary":"A complete guide to Git Large File Storage — installation, tracking large files, migration, and team workflow considerations.","url":"https://www.gitorg.xyz/en/docs/concepts/git-lfs","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-lfs","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-lfs.com/","https://github.com/git-lfs/git-lfs/wiki/Tutorial"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"migration","sectionLabel":"Migration","slug":"hg-to-git","path":"migration/hg-to-git","tier":"extended","learningResourceType":"Guide","title":"Mercurial to Git Migration Guide","summary":"A guide to migrating from Mercurial (Hg) to Git, including hg-fast-export, branch/tag conversion, and common difference handling.","url":"https://www.gitorg.xyz/en/migration/hg-to-git","alternateUrl":"https://www.gitorg.xyz/zh/migration/hg-to-git","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git","https://github.com/frej/fast-export"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"merge-and-close-task","path":"learning-path/merge-and-close-task","tier":"core","learningResourceType":"Course module","title":"Merge and close the task loop","summary":"Close the full delivery loop by merging with the right strategy, confirming mainline state, cleaning branches, and updating task status.","url":"https://www.gitorg.xyz/en/docs/learning-path/merge-and-close-task","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/merge-and-close-task","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"merge-base-and-ancestry","path":"internals/merge-base-and-ancestry","tier":"recommended","learningResourceType":"Technical explainer","title":"Merge Bases and Ancestry","summary":"Explain how Git uses common ancestors to reason about branch differences, merge inputs, and reachability.","url":"https://www.gitorg.xyz/en/internals/merge-base-and-ancestry","alternateUrl":"https://www.gitorg.xyz/zh/internals/merge-base-and-ancestry","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"merge-queue-workflow","path":"workflows/merge-queue-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Merge Queue Workflow","summary":"Use merge queues to control high-throughput PR merges, reduce stale-base retries, and make protected-branch integration more predictable.","url":"https://www.gitorg.xyz/en/workflows/merge-queue-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/merge-queue-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue?tool=webui"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"open-source-fork-pr-contribution","path":"workflows/open-source-fork-pr-contribution","tier":"extended","learningResourceType":"Workflow tutorial","title":"Open Source Contribution with Fork + PR","summary":"Connect the full open-source contribution loop from fork and upstream sync through branch creation, pushing to your fork, and opening a pull request.","url":"https://www.gitorg.xyz/en/workflows/open-source-fork-pr-contribution","alternateUrl":"https://www.gitorg.xyz/zh/workflows/open-source-fork-pr-contribution","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project.html","https://docs.github.com/articles/syncing-a-fork?platform=linux"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"open-first-pull-request","path":"learning-path/open-first-pull-request","tier":"core","learningResourceType":"Course module","title":"Open your first pull request","summary":"Move from branch commits to team review by preparing scope, context, and validation details for your first merge-ready pull request.","url":"https://www.gitorg.xyz/en/docs/learning-path/open-first-pull-request","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/open-first-pull-request","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"parallel-work-with-worktree","path":"workflows/parallel-work-with-worktree","tier":"extended","learningResourceType":"Workflow tutorial","title":"Parallel Task Handling with Worktree","summary":"Use git worktree to open multiple working directories from the same repository when feature work, review fixes, and urgent tasks overlap.","url":"https://www.gitorg.xyz/en/workflows/parallel-work-with-worktree","alternateUrl":"https://www.gitorg.xyz/zh/workflows/parallel-work-with-worktree","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"performance","sectionLabel":"Performance","slug":"partial-clone","path":"performance/partial-clone","tier":"extended","learningResourceType":"Technical guide","title":"Partial Clone: On-Demand Git Object Fetching","summary":"An in-depth look at Git partial clone — how filters and promisor remotes work, and how to speed up clone and fetch in large repositories.","url":"https://www.gitorg.xyz/en/performance/partial-clone","alternateUrl":"https://www.gitorg.xyz/zh/performance/partial-clone","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/partial-clone","https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"plumbing-and-porcelain","path":"internals/plumbing-and-porcelain","tier":"recommended","learningResourceType":"Technical explainer","title":"Plumbing and Porcelain","summary":"Understanding the split between porcelain and plumbing makes it easier to see why some Git commands feel task-oriented while others expose internal primitives directly.","url":"https://www.gitorg.xyz/en/internals/plumbing-and-porcelain","alternateUrl":"https://www.gitorg.xyz/zh/internals/plumbing-and-porcelain","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain","https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"post-release-multi-branch-backporting","path":"workflows/post-release-multi-branch-backporting","tier":"extended","learningResourceType":"Workflow tutorial","title":"Post-release Multi-branch Backporting","summary":"Control order, validation, and branch boundaries when one fix must be backported into multiple released maintenance lines.","url":"https://www.gitorg.xyz/en/workflows/post-release-multi-branch-backporting","alternateUrl":"https://www.gitorg.xyz/zh/workflows/post-release-multi-branch-backporting","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-branch"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"pr-merge-strategy-and-platform-settings","path":"workflows/pr-merge-strategy-and-platform-settings","tier":"extended","learningResourceType":"Workflow tutorial","title":"PR Merge Strategy and Platform Settings","summary":"Make pull request merge policy and platform configuration part of the same decision so history shape and repository settings stay aligned.","url":"https://www.gitorg.xyz/en/workflows/pr-merge-strategy-and-platform-settings","alternateUrl":"https://www.gitorg.xyz/zh/workflows/pr-merge-strategy-and-platform-settings","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/about-merge-methods-on-github?apiVersion=2022-11-28","https://docs.github.com/articles/about-pull-request-merges"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"pre-commit-hook-workflow","path":"workflows/pre-commit-hook-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Pre-commit Hook Workflow","summary":"Use pre-commit hooks to automatically run checks before code enters the repository, guarding the first gate of code quality.","url":"https://www.gitorg.xyz/en/workflows/pre-commit-hook-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/pre-commit-hook-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks","https://pre-commit.com/"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"pre-release-checklist","path":"workflows/pre-release-checklist","tier":"extended","learningResourceType":"Workflow tutorial","title":"Pre-release Git checklist","summary":"Complete pre-release Git checklist: branch status, tag creation, changelog generation, version numbers, and CI verification.","url":"https://www.gitorg.xyz/en/workflows/pre-release-checklist","alternateUrl":"https://www.gitorg.xyz/zh/workflows/pre-release-checklist","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Tagging","https://git-scm.com/docs/git-log"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"prepare-commits-before-pull-request","path":"workflows/prepare-commits-before-pull-request","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Prepare commit history before opening a pull request","summary":"Build a stable pre-PR routine around syncing, commit cleanup, risk checks, and review-friendly history.","url":"https://www.gitorg.xyz/en/workflows/prepare-commits-before-pull-request","alternateUrl":"https://www.gitorg.xyz/zh/workflows/prepare-commits-before-pull-request","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"pull-request-prep","path":"best-practices/pull-request-prep","tier":"recommended","learningResourceType":"Best practice guide","title":"Preparing a Branch for Review","summary":"Clean up commits, sync with the latest base, and remove noise before asking for review.","url":"https://www.gitorg.xyz/en/best-practices/pull-request-prep","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/pull-request-prep","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://git-scm.com/docs/git-rebase"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"pull-request-review-readiness","path":"best-practices/pull-request-review-readiness","tier":"extended","learningResourceType":"Best practice guide","title":"Pull Request Review Readiness","summary":"Review quality depends heavily on whether the author prepared branch scope, change narrative, validation notes, and follow-up behavior before requesting feedback.","url":"https://www.gitorg.xyz/en/best-practices/pull-request-review-readiness","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/pull-request-review-readiness","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews","https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"github","sectionLabel":"GitHub","slug":"pull-requests-and-reviews","path":"github/pull-requests-and-reviews","tier":"recommended","learningResourceType":"Platform tutorial","title":"Pull Requests and Code Review","summary":"Understand pull requests, reviews, protected branches, and merge decisions as collaboration mechanics rather than just UI actions.","url":"https://www.gitorg.xyz/en/github/pull-requests-and-reviews","alternateUrl":"https://www.gitorg.xyz/zh/github/pull-requests-and-reviews","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests","https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews","https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"reachability-and-garbage-collection","path":"internals/reachability-and-garbage-collection","tier":"recommended","learningResourceType":"Technical explainer","title":"Reachability and Garbage Collection","summary":"Whether objects can still be recovered often depends more on reachability and garbage collection than on the command that made them harder to find.","url":"https://www.gitorg.xyz/en/internals/reachability-and-garbage-collection","alternateUrl":"https://www.gitorg.xyz/zh/internals/reachability-and-garbage-collection","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery","https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-gc"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"rebase-internals-and-sequencer","path":"internals/rebase-internals-and-sequencer","tier":"recommended","learningResourceType":"Technical explainer","title":"Rebase internals and the sequencer","summary":"Understand rebase as commit replay managed by the sequencer, making conflict handling and recovery decisions more predictable.","url":"https://www.gitorg.xyz/en/internals/rebase-internals-and-sequencer","alternateUrl":"https://www.gitorg.xyz/zh/internals/rebase-internals-and-sequencer","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-reflog"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-deleted-branch","path":"recovery/recover-deleted-branch","tier":"recommended","learningResourceType":"Troubleshooting guide","title":"Recover a deleted branch","summary":"When a branch disappears, first determine whether only the name is gone or whether the commits have become hard to reach, then restore it from reflog or another surviving reference.","url":"https://www.gitorg.xyz/en/recovery/recover-deleted-branch","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-deleted-branch","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-branch","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-lost-stash","path":"recovery/recover-lost-stash","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recover a lost stash","summary":"When stash entries seem to disappear, determine whether they were popped, dropped, or detached from refs, then recover via reflog or dangling commits.","url":"https://www.gitorg.xyz/en/recovery/recover-lost-stash","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-lost-stash","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-stash","https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-fsck"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-rebase","path":"recovery/recover-after-rebase","tier":"core","learningResourceType":"Troubleshooting guide","title":"Recover after a bad rebase","summary":"When rebase introduces conflicts, missing commits, or a result you no longer trust, stop rewriting history and recover control with abort, reflog, and rescue branches.","url":"https://www.gitorg.xyz/en/recovery/recover-after-rebase","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-rebase","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Branching-Rebasing"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-wrong-cherry-pick","path":"recovery/recover-after-wrong-cherry-pick","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recover after a wrong cherry-pick","summary":"If the wrong commit was cherry-picked, choose reset or revert based on whether the history is already shared, then replay the correct patch sequence.","url":"https://www.gitorg.xyz/en/recovery/recover-after-wrong-cherry-pick","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-wrong-cherry-pick","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-revert"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-git-clean","path":"recovery/recover-after-git-clean","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recover after an accidental git clean","summary":"After `git clean` removes untracked files, recovery usually depends on external history sources; prevent recurrence with dry-run and stash -u safeguards.","url":"https://www.gitorg.xyz/en/recovery/recover-after-git-clean","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-git-clean","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-clean","https://git-scm.com/docs/git-stash","https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-accidental-merge","path":"recovery/recover-after-accidental-merge","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recover after an accidental merge","summary":"When the wrong branch was merged, decide between reset and revert -m based on sharing state, and undo the merge safely without damaging collaboration history.","url":"https://www.gitorg.xyz/en/recovery/recover-after-accidental-merge","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-accidental-merge","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-reset"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-after-reset","path":"recovery/recover-after-reset","tier":"core","learningResourceType":"Troubleshooting guide","title":"Recover after an over-aggressive reset","summary":"When reset moves the branch, index, or working tree farther than expected, first identify which layer changed, then recover with reflog, ORIG_HEAD, or a rescue branch.","url":"https://www.gitorg.xyz/en/recovery/recover-after-reset","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-after-reset","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"fix-detached-head-accidentally-committed","path":"recovery/fix-detached-head-accidentally-committed","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recovering commits made in detached HEAD","summary":"How to properly recover commits made in detached HEAD state back to a branch. Covers creating new branches, merging into existing branches, and prevention strategies.","url":"https://www.gitorg.xyz/en/recovery/fix-detached-head-accidentally-committed","alternateUrl":"https://www.gitorg.xyz/zh/recovery/fix-detached-head-accidentally-committed","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-checkout","https://git-scm.com/book/en/v2/Git-Branching-Advanced-Branching"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"fix-broken-interactive-rebase","path":"recovery/fix-broken-interactive-rebase","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recovering from a broken interactive rebase","summary":"Common errors during interactive rebase (wrong actions, conflicts, editor issues) and how to recover, including --abort, --edit-todo, and reflog-based recovery.","url":"https://www.gitorg.xyz/en/recovery/fix-broken-interactive-rebase","alternateUrl":"https://www.gitorg.xyz/zh/recovery/fix-broken-interactive-rebase","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-from-corrupted-repo","path":"recovery/recover-from-corrupted-repo","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recovering from a corrupted repository","summary":"Diagnosis and recovery strategies for repository corruption: damaged pack files, missing objects, and disk failures. Covers git fsck, remote re-clone, pack recovery, backup restoration, and prevention.","url":"https://www.gitorg.xyz/en/recovery/recover-from-corrupted-repo","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-from-corrupted-repo","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-fsck","https://git-scm.com/book/en/v2/Git-Internals-Packfiles","https://git-scm.com/docs/git-unpack-objects","https://git-scm.com/docs/git-bundle"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"recover-lost-commits","path":"recovery/recover-lost-commits","tier":"extended","learningResourceType":"Troubleshooting guide","title":"Recovering lost commits","summary":"Recovery strategies for 'lost' commits across scenarios: detached HEAD commits, post-filter-branch, deleted branches, and over-reset. Core tools are reflog and fsck.","url":"https://www.gitorg.xyz/en/recovery/recover-lost-commits","alternateUrl":"https://www.gitorg.xyz/zh/recovery/recover-lost-commits","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-reflog","https://git-scm.com/docs/git-fsck","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"reflog-recovery","path":"recovery/reflog-recovery","tier":"core","learningResourceType":"Troubleshooting guide","title":"Recovering with reflog","summary":"Use reflog to locate previous references and recover from reset, rebase, or lost branch states.","url":"https://www.gitorg.xyz/en/recovery/reflog-recovery","alternateUrl":"https://www.gitorg.xyz/zh/recovery/reflog-recovery","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-reflog.html","https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"refspec-and-ref-updates","path":"internals/refspec-and-ref-updates","tier":"extended","learningResourceType":"Technical explainer","title":"Refspecs and Ref Updates","summary":"Explain how refspecs determine which refs are mapped and updated during fetch and push.","url":"https://www.gitorg.xyz/en/internals/refspec-and-ref-updates","alternateUrl":"https://www.gitorg.xyz/zh/internals/refspec-and-ref-updates","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-The-Refspec","https://git-scm.com/docs/git-fetch"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"release-branch-workflow","path":"workflows/release-branch-workflow","tier":"core","learningResourceType":"Workflow tutorial","title":"Release Branch Workflow","summary":"Explain when to cut a release branch, when to freeze features, and how to flow fixes back to main.","url":"https://www.gitorg.xyz/en/workflows/release-branch-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/release-branch-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-branch"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"release-checklist-discipline","path":"best-practices/release-checklist-discipline","tier":"recommended","learningResourceType":"Best practice guide","title":"Release checklist discipline","summary":"Use a fixed release checklist with owners and evidence-based validation to reduce launch omissions and avoid memory-driven failures.","url":"https://www.gitorg.xyz/en/best-practices/release-checklist-discipline","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/release-checklist-discipline","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://sre.google/sre-book/reliable-product-launches/","https://www.atulgawande.com/book/the-checklist-manifesto/","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"release-hygiene","path":"best-practices/release-hygiene","tier":"extended","learningResourceType":"Best practice guide","title":"Release Hygiene","summary":"Use a small set of Git checks before release to reduce mistakes around tags, branches, and version state.","url":"https://www.gitorg.xyz/en/best-practices/release-hygiene","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/release-hygiene","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"release-train-workflow","path":"workflows/release-train-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Release Train Workflow","summary":"Ship on a fixed cadence so releases are schedule-driven rather than feature-driven, improving predictability across teams.","url":"https://www.gitorg.xyz/en/workflows/release-train-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/release-train-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://martinfowler.com/bliki/ReleaseTrain.html","https://git-scm.com/docs/git-tag","https://git-scm.com/docs/git-branch"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"sync-with-remote","path":"learning-path/sync-with-remote","tier":"core","learningResourceType":"Course module","title":"Remote Sync","summary":"Understand fetch, pull, and push as three different actions: observe upstream state, integrate changes, and publish local commits.","url":"https://www.gitorg.xyz/en/docs/learning-path/sync-with-remote","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/sync-with-remote","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"remote-tracking-refs","path":"internals/remote-tracking-refs","tier":"core","learningResourceType":"Technical explainer","title":"Remote-Tracking References","summary":"Understand the difference between `main` and `origin/main` so fetch, pull, push, and branch sync become easier to reason about.","url":"https://www.gitorg.xyz/en/internals/remote-tracking-refs","alternateUrl":"https://www.gitorg.xyz/zh/internals/remote-tracking-refs","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"rename-detection-and-diff-algorithms","path":"internals/rename-detection-and-diff-algorithms","tier":"recommended","learningResourceType":"Technical explainer","title":"Rename detection and diff algorithms","summary":"Learn how Git infers renames and how diff algorithm choices affect review readability and change interpretation.","url":"https://www.gitorg.xyz/en/internals/rename-detection-and-diff-algorithms","alternateUrl":"https://www.gitorg.xyz/zh/internals/rename-detection-and-diff-algorithms","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/git-diff","https://git-scm.com/docs/git-log","https://git-scm.com/docs/git-config"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"repository-layout-and-gitdir","path":"internals/repository-layout-and-gitdir","tier":"recommended","learningResourceType":"Technical explainer","title":"Repository Layout, .git, and GIT_DIR","summary":"Understanding working trees, gitdirs, common directories, and worktrees helps explain where Git really stores repository state.","url":"https://www.gitorg.xyz/en/internals/repository-layout-and-gitdir","alternateUrl":"https://www.gitorg.xyz/zh/internals/repository-layout-and-gitdir","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/gitrepository-layout","https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"rerere-for-recurring-conflicts","path":"workflows/rerere-for-recurring-conflicts","tier":"extended","learningResourceType":"Workflow tutorial","title":"Rerere for Recurring Conflicts","summary":"Use rerere to record and reuse conflict resolutions when the same merge or rebase conflicts appear again and again.","url":"https://www.gitorg.xyz/en/workflows/rerere-for-recurring-conflicts","alternateUrl":"https://www.gitorg.xyz/zh/workflows/rerere-for-recurring-conflicts","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-rerere","https://git-scm.com/book/en/v2/Git-Tools-Rerere"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"detached-head-rescue","path":"recovery/detached-head-rescue","tier":"core","learningResourceType":"Troubleshooting guide","title":"Rescue work from detached HEAD","summary":"Detached HEAD is not an error by itself. The real risk is creating commits there and leaving them without a branch name that preserves them.","url":"https://www.gitorg.xyz/en/recovery/detached-head-rescue","alternateUrl":"https://www.gitorg.xyz/zh/recovery/detached-head-rescue","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/docs/git-checkout","https://git-scm.com/docs/git-reflog"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"revert-first-stabilization-workflow","path":"workflows/revert-first-stabilization-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Revert-First Stabilization Workflow","summary":"In high-impact regressions, restore service stability first and separate root-cause fixes afterward to reduce incident duration and secondary risk.","url":"https://www.gitorg.xyz/en/workflows/revert-first-stabilization-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/revert-first-stabilization-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-cherry-pick","https://sre.google/sre-book/emergency-response/"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"review-and-safe-push","path":"best-practices/review-and-safe-push","tier":"core","learningResourceType":"Best practice guide","title":"Review-Ready History and Safe Push","summary":"Before review or push, clean up the commit stack, inspect the actual diff range, and prefer safer push defaults so you publish history intentionally.","url":"https://www.gitorg.xyz/en/best-practices/review-and-safe-push","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/review-and-safe-push","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-commit","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"revision-selection-and-ranges","path":"internals/revision-selection-and-ranges","tier":"extended","learningResourceType":"Technical explainer","title":"Revision Selection and Commit Ranges","summary":"Many advanced Git commands are really working over sets of commits expressed through revision syntax, not just single named commits.","url":"https://www.gitorg.xyz/en/internals/revision-selection-and-ranges","alternateUrl":"https://www.gitorg.xyz/zh/internals/revision-selection-and-ranges","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/gitrevisions","https://git-scm.com/book/en/v2/Git-Tools-Revision-Selection"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"hotfix-rollback-after-release","path":"workflows/hotfix-rollback-after-release","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Rollback a failed hotfix after release","summary":"When a production hotfix causes new problems, first choose the rollback scope and stabilize the branch model before layering on more fixes.","url":"https://www.gitorg.xyz/en/workflows/hotfix-rollback-after-release","alternateUrl":"https://www.gitorg.xyz/zh/workflows/hotfix-rollback-after-release","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-tag","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"rollback-deployment-workflow","path":"workflows/rollback-deployment-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Rollback Deployment Workflow","summary":"Combine Git tags, revert, and fast branch switching to build a safe and controllable deployment rollback process.","url":"https://www.gitorg.xyz/en/workflows/rollback-deployment-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/rollback-deployment-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-revert","https://git-scm.com/docs/git-tag"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"safe-cherry-picks","path":"best-practices/safe-cherry-picks","tier":"extended","learningResourceType":"Best practice guide","title":"Safe Cherry-picks","summary":"Use cherry-pick safely when backporting fixes or selectively reusing commits.","url":"https://www.gitorg.xyz/en/best-practices/safe-cherry-picks","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/safe-cherry-picks","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-cherry-pick","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"safe-force-push-protocol","path":"best-practices/safe-force-push-protocol","tier":"recommended","learningResourceType":"Best practice guide","title":"Safe force-push protocol","summary":"When history rewrite is necessary, use explicit communication, freeze windows, and `--force-with-lease` to reduce overwrite risk.","url":"https://www.gitorg.xyz/en/best-practices/safe-force-push-protocol","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/safe-force-push-protocol","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-reflog","https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"security-with-git","path":"best-practices/security-with-git","tier":"extended","learningResourceType":"Best practice guide","title":"Security best practices with Git","summary":"Handling sensitive info leaks, key management, .env security, git-secrets, GPG-signed commits, and SSH key management.","url":"https://www.gitorg.xyz/en/best-practices/security-with-git","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/security-with-git","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work","https://github.com/awslabs/git-secrets","https://github.com/rtyley/bfg-repo-cleaner"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"hosting","sectionLabel":"Hosting","slug":"self-hosted-git","path":"hosting/self-hosted-git","tier":"extended","learningResourceType":"Comparison guide","title":"Self-Hosted Git Service Comparison","summary":"A comparison of self-hosted Git solutions including GitLab CE, Gitea, Gogs, and others — covering features, deployment, and maintenance.","url":"https://www.gitorg.xyz/en/hosting/self-hosted-git","alternateUrl":"https://www.gitorg.xyz/zh/hosting/self-hosted-git","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://docs.gitlab.com/ee/install/","https://gitea.com/","https://gogs.io/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"setup-and-clone","path":"learning-path/setup-and-clone","tier":"core","learningResourceType":"Course module","title":"Setup and Clone","summary":"Handle the first low-risk setup tasks in Git: configure identity, clone a repository, and inspect what actually appears locally afterward.","url":"https://www.gitorg.xyz/en/docs/learning-path/setup-and-clone","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/setup-and-clone","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-config","https://git-scm.com/docs/git-clone","https://git-scm.com/docs/git-status"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-shallow","path":"concepts/git-shallow","tier":"extended","learningResourceType":"Concept guide","title":"Shallow Clones and CI Optimization","summary":"Understanding shallow clones, single-branch clones, and how to optimize Git operations for CI/CD and large repositories.","url":"https://www.gitorg.xyz/en/docs/concepts/git-shallow","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-shallow","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-clone","https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"shared-history-boundaries","path":"best-practices/shared-history-boundaries","tier":"core","learningResourceType":"Best practice guide","title":"Shared History Boundaries","summary":"Know which history can still be cleaned up freely and which history should be treated as shared, so rebase, amend, reset, and force-push do not break other people.","url":"https://www.gitorg.xyz/en/best-practices/shared-history-boundaries","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/shared-history-boundaries","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html","https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-push"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"signing-commits-workflow","path":"workflows/signing-commits-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Signing Commits Workflow","summary":"Use GPG or SSH to sign commits, establishing verifiable commit identity and a trusted collaboration chain.","url":"https://www.gitorg.xyz/en/workflows/signing-commits-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/signing-commits-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work","https://docs.github.com/en/authentication/managing-commit-signature-verification"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"small-batch-review","path":"best-practices/small-batch-review","tier":"extended","learningResourceType":"Best practice guide","title":"Small-batch Review","summary":"Use smaller commit batches and shorter branch lifecycles to keep review fast and clear.","url":"https://www.gitorg.xyz/en/best-practices/small-batch-review","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/small-batch-review","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project","https://git-scm.com/docs/git-range-diff"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"monorepo-sparse-checkout-workflow","path":"workflows/monorepo-sparse-checkout-workflow","tier":"extended","learningResourceType":"Workflow tutorial","title":"Sparse-checkout and worktree flow for monorepos","summary":"Use sparse-checkout and worktree together in a monorepo to reduce context load and support parallel task work without loading the whole tree every time.","url":"https://www.gitorg.xyz/en/workflows/monorepo-sparse-checkout-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/monorepo-sparse-checkout-workflow","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/docs/git-sparse-checkout","https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-submodule"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"security","sectionLabel":"Security","slug":"ssh-key-management","path":"security/ssh-key-management","tier":"extended","learningResourceType":"Best practice guide","title":"SSH Key Management & Git Authentication","summary":"A systematic guide to SSH key generation, configuration, management, and Git authentication, including multiple keys, ssh-agent, deploy keys, and security best practices.","url":"https://www.gitorg.xyz/en/security/ssh-key-management","alternateUrl":"https://www.gitorg.xyz/zh/security/ssh-key-management","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://docs.github.com/en/authentication/connecting-to-github-with-ssh","https://git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"stacked-pull-requests-workflow","path":"workflows/stacked-pull-requests-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Stacked Pull Requests Workflow","summary":"Split a large change into dependency-ordered PR layers to improve review throughput and reduce oversized review fatigue.","url":"https://www.gitorg.xyz/en/workflows/stacked-pull-requests-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/stacked-pull-requests-workflow","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-range-diff","https://git-scm.com/docs/git-cherry-pick"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"learning-path","sectionLabel":"Learning Path","slug":"stage-and-commit","path":"learning-path/stage-and-commit","tier":"core","learningResourceType":"Course module","title":"Staging and Commit","summary":"Understand the three-layer model of working tree, staging area, and commit history, then turn file edits into stable local commits.","url":"https://www.gitorg.xyz/en/docs/learning-path/stage-and-commit","alternateUrl":"https://www.gitorg.xyz/zh/docs/learning-path/stage-and-commit","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-add","https://git-scm.com/docs/git-commit","https://git-scm.com/docs/git-status"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"submodule-update-flow","path":"workflows/submodule-update-flow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Submodule Update Flow","summary":"Outline a safe routine for updating submodules, locking revisions, and syncing the parent repository.","url":"https://www.gitorg.xyz/en/workflows/submodule-update-flow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/submodule-update-flow","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Tools-Submodules","https://git-scm.com/docs/git-submodule","https://git-scm.com/docs/git-status"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"migration","sectionLabel":"Migration","slug":"svn-to-git","path":"migration/svn-to-git","tier":"extended","learningResourceType":"Guide","title":"SVN to Git Migration Guide","summary":"A complete guide to migrating from Subversion (SVN) to Git, covering history conversion, branch mapping, team training, and common pitfalls.","url":"https://www.gitorg.xyz/en/migration/svn-to-git","alternateUrl":"https://www.gitorg.xyz/zh/migration/svn-to-git","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-svn","https://git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"sync-before-review","path":"workflows/sync-before-review","tier":"core","learningResourceType":"Workflow tutorial","title":"Sync Before Review","summary":"Sync your branch with main before opening review so reviewers see current, focused diffs instead of stale base noise.","url":"https://www.gitorg.xyz/en/workflows/sync-before-review","alternateUrl":"https://www.gitorg.xyz/zh/workflows/sync-before-review","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing.html","https://git-scm.com/docs/git-fetch","https://git-scm.com/docs/git-pull.html"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"shared-branch-sync-boundaries","path":"workflows/shared-branch-sync-boundaries","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Sync Boundaries on Shared Branches","summary":"Define what is safe and unsafe on a branch shared by multiple people so sync stays predictable and history rewrites do not turn into team-wide incidents.","url":"https://www.gitorg.xyz/en/workflows/shared-branch-sync-boundaries","alternateUrl":"https://www.gitorg.xyz/zh/workflows/shared-branch-sync-boundaries","lastModified":"2026-05-24T11:46:17.277Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Rebasing","https://git-scm.com/docs/git-push","https://git-scm.com/docs/git-pull"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"tagging-and-versioning","path":"best-practices/tagging-and-versioning","tier":"extended","learningResourceType":"Best practice guide","title":"Tagging and Versioning","summary":"Use Semantic Versioning (SemVer) and annotated tags to establish clear, traceable release conventions.","url":"https://www.gitorg.xyz/en/best-practices/tagging-and-versioning","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/tagging-and-versioning","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://semver.org/","https://git-scm.com/book/en/v2/Git-Basics-Tagging"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-ignore","path":"concepts/git-ignore","tier":"extended","learningResourceType":"Concept guide","title":"The Complete Guide to .gitignore","summary":"A comprehensive explanation of .gitignore rule syntax, precedence, glob patterns, global configuration, and how to exclude files that should not be committed.","url":"https://www.gitorg.xyz/en/docs/concepts/git-ignore","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-ignore","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/gitignore"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"three-way-merge-mechanics","path":"internals/three-way-merge-mechanics","tier":"recommended","learningResourceType":"Technical explainer","title":"Three-way merge mechanics","summary":"Understand how Git computes merges from base, ours, and theirs so conflicts and merge outcomes are easier to reason about.","url":"https://www.gitorg.xyz/en/internals/three-way-merge-mechanics","alternateUrl":"https://www.gitorg.xyz/zh/internals/three-way-merge-mechanics","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-merge-base","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"best-practices","sectionLabel":"Best Practices","slug":"topic-branches","path":"best-practices/topic-branches","tier":"recommended","learningResourceType":"Best practice guide","title":"Topic Branch Strategy","summary":"Use topic branches to isolate units of work so parallel development, review, rollback, and history cleanup all stay easier to manage.","url":"https://www.gitorg.xyz/en/best-practices/topic-branches","alternateUrl":"https://www.gitorg.xyz/zh/best-practices/topic-branches","lastModified":"2026-05-24T11:46:17.253Z","sourceUrls":["https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html","https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging","https://git-scm.com/docs/git-switch"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"transfer-protocols-and-negotiation","path":"internals/transfer-protocols-and-negotiation","tier":"extended","learningResourceType":"Technical explainer","title":"Transfer Protocols and Negotiation","summary":"Understanding fetch, clone, and push as negotiated object exchange helps explain why Git sync is not just copying whole repositories back and forth.","url":"https://www.gitorg.xyz/en/internals/transfer-protocols-and-negotiation","alternateUrl":"https://www.gitorg.xyz/zh/internals/transfer-protocols-and-negotiation","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols","https://git-scm.com/book/en/v2/Git-Internals-Packfiles"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"tree-objects-and-snapshots","path":"internals/tree-objects-and-snapshots","tier":"extended","learningResourceType":"Technical explainer","title":"Tree Objects and Snapshots","summary":"Explain how tree objects encode directory structure and why commits represent full snapshot trees.","url":"https://www.gitorg.xyz/en/internals/tree-objects-and-snapshots","alternateUrl":"https://www.gitorg.xyz/zh/internals/tree-objects-and-snapshots","lastModified":"2026-05-24T11:46:17.269Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Internals-Git-Objects"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"trunk-based-development","path":"workflows/trunk-based-development","tier":"extended","learningResourceType":"Workflow tutorial","title":"Trunk-based development workflow","summary":"Trunk-based development vs branch-based development comparison, feature flag integration, short branch lifecycle, and small-step commit practices.","url":"https://www.gitorg.xyz/en/workflows/trunk-based-development","alternateUrl":"https://www.gitorg.xyz/zh/workflows/trunk-based-development","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://trunkbaseddevelopment.com/","https://github.com/features/actions"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"trunk-based-development-workflow","path":"workflows/trunk-based-development-workflow","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Trunk-Based Development Workflow","summary":"Keep main continuously releasable by using short-lived branches, frequent integration, and small merge batches.","url":"https://www.gitorg.xyz/en/workflows/trunk-based-development-workflow","alternateUrl":"https://www.gitorg.xyz/zh/workflows/trunk-based-development-workflow","lastModified":"2026-05-24T11:46:17.281Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows","https://git-scm.com/docs/git-rebase","https://git-scm.com/docs/git-merge","https://git-scm.com/docs/git-worktree"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"git-attributes","path":"concepts/git-attributes","tier":"extended","learningResourceType":"Concept guide","title":"Understanding .gitattributes","summary":"A deep dive into .gitattributes for controlling line endings, merge strategies, diff drivers, and binary file handling in Git.","url":"https://www.gitorg.xyz/en/docs/concepts/git-attributes","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/git-attributes","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/gitattributes"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"concepts","sectionLabel":"Concepts","slug":"detached-head","path":"concepts/detached-head","tier":"extended","learningResourceType":"Concept guide","title":"Understanding Detached HEAD State","summary":"Explain what detached HEAD is, how you enter this state, and how to safely exit detached HEAD while preserving your work.","url":"https://www.gitorg.xyz/en/docs/concepts/detached-head","alternateUrl":"https://www.gitorg.xyz/zh/docs/concepts/detached-head","lastModified":"2026-05-24T11:46:17.261Z","sourceUrls":["https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"recovery","sectionLabel":"Recovery","slug":"undo-after-pull","path":"recovery/undo-after-pull","tier":"core","learningResourceType":"Troubleshooting guide","title":"Undo after a pull you regret","summary":"When a pull leaves your branch in an unexpected state, first determine what pull actually did, then recover with ORIG_HEAD, reflog, or a rescue branch.","url":"https://www.gitorg.xyz/en/recovery/undo-after-pull","alternateUrl":"https://www.gitorg.xyz/zh/recovery/undo-after-pull","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-pull","https://git-scm.com/docs/git-reset","https://git-scm.com/docs/git-reflog"],"citationGuidance":"Best cited for recovery steps, troubleshooting, and risk control."},{"locale":"en","language":"en","section":"workflows","sectionLabel":"Workflows","slug":"ai-agent-worktree-mode","path":"workflows/ai-agent-worktree-mode","tier":"recommended","learningResourceType":"Workflow tutorial","title":"Using git worktree as the default mode for AI coding agents","summary":"Turn git worktree into the default parallel-task mode for AI coding agents so implementation, review, validation, and hotfix work stay isolated and recoverable.","url":"https://www.gitorg.xyz/en/workflows/ai-agent-worktree-mode","alternateUrl":"https://www.gitorg.xyz/zh/workflows/ai-agent-worktree-mode","lastModified":"2026-05-24T11:46:17.273Z","sourceUrls":["https://git-scm.com/docs/git-worktree","https://git-scm.com/docs/git-switch","https://git-scm.com/book/en/v2/Git-Tools-Advanced-Merging"],"citationGuidance":"Best cited for team process, operation sequencing, and scenario decisions."},{"locale":"en","language":"en","section":"ide","sectionLabel":"IDE","slug":"vscode-git","path":"ide/vscode-git","tier":"extended","learningResourceType":"Tutorial","title":"VS Code Git Integration","summary":"Master VS Code's built-in Git integration, including the Source Control panel, diff editor, inline blame, staging, branching, and conflict resolution.","url":"https://www.gitorg.xyz/en/ide/vscode-git","alternateUrl":"https://www.gitorg.xyz/zh/ide/vscode-git","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://code.visualstudio.com/docs/sourcecontrol/overview","https://code.visualstudio.com/docs/sourcecontrol/intro-to-git"],"citationGuidance":"Best cited as Git teaching material and learning-path guidance."},{"locale":"en","language":"en","section":"internals","sectionLabel":"Git Internals","slug":"index-and-working-tree","path":"internals/index-and-working-tree","tier":"core","learningResourceType":"Technical explainer","title":"Working Tree, Index, and Object Store","summary":"Separating the working tree, index, and object database is the clearest way to understand add, commit, restore, and reset.","url":"https://www.gitorg.xyz/en/internals/index-and-working-tree","alternateUrl":"https://www.gitorg.xyz/zh/internals/index-and-working-tree","lastModified":"2026-05-24T11:46:17.265Z","sourceUrls":["https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository","https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified"],"citationGuidance":"Best cited for Git mental models, object storage, and internal mechanics."}]}]}