Skip to content
cccskills
FreePublished on GitHub

git

Use this reference to understand Git workflows and internals, from staging changes and managing branches to merging, rebasing, and working with remotes. It also covers diffs, hooks, worktrees, submodules, configuration, and commands for inspecting or recovering repository state.

OriginalShow the original description

Use when working with Git — object model, references, index, branching, merging, rebasing, remotes, diffs, config, hooks, worktrees, submodules, and plumbing commands. Triggers on: "git", "git branch", "git commit", "git merge", "git rebase", "git checkout", "git stash", "git reset", "git submodule", "git worktree", "git blame", "git bisect", "git reflog", "git hooks", "git config".

carapace-sh/carapace-bin2,001 stars(GitHub 2,001 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Understanding branches, merges, and rebases
  • Reviewing diffs and resolving conflicts
  • Working with remotes, worktrees, or submodules
  • Inspecting Git configuration and hooks
  • Recovering a lost commit

Files included (15)

  • SKILL.md9.6 KB
  • references/branching-merging.md8.8 KB
  • references/cli.md12.3 KB
  • references/concepts.md8.7 KB
  • references/config.md11.4 KB
  • references/diff-patch.md9.5 KB
  • references/hooks.md12.2 KB
  • references/index.md7.7 KB
  • references/internals.md14.4 KB
  • references/objects.md10.1 KB
  • references/rebase.md10.3 KB
  • references/refs.md10.3 KB
  • references/remotes.md11.1 KB
  • references/workflows.md12.4 KB
  • references/worktree.md11.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Git — Distributed Version Control In-Depth Reference

Comprehensive reference for Git internals, concepts, and workflows. Covers the object model, reference system, index, branching/merging, remotes, configuration, hooks, and plumbing commands.

Data Flow

Working Tree
  ↕ (git add / git checkout)
Index (Staging Area)
  ↕ (git commit / git reset)
Object Store (.git/objects/)
  ↕ (git pack / git gc)
Packfiles (.git/objects/pack/)
  ↕ (git fetch / git push)
Remote Object Store

Sub-Resources

Load the reference that matches your task. When in doubt, load multiple references.

KeywordsReference
concept, model, DAG, directed acyclic graph, snapshot, content-addressable, integrity, hash, SHA-1, SHA-256, OID, object ID, three states, working tree, index, repository, bare repo, .git, git init, git clone, detached HEAD, HEAD, symbolic ref, plumbing vs porcelain, high-level vs low-levelreferences/concepts.md
object, blob, tree, commit, tag object, annotated tag, lightweight tag, object store, loose object, packfile, pack index, delta, OFS_DELTA, REF_DELTA, thin pack, object type, object format, hash algorithm, object ID, content-addressable storage, git hash-object, git cat-file, git mktree, git mktag, object graph, reachability, garbage collection, git gc, git prune, git fsckreferences/objects.md
ref, reference, branch, HEAD, symbolic ref, reflog, remote-tracking branch, tracking branch, refspec, tag, annotated tag, lightweight tag, namespace, refs/heads, refs/tags, refs/remotes, refs/replace, refs/notes, packed-refs, git update-ref, git symbolic-ref, git for-each-ref, git show-ref, git branch, git tag, git remote, upstream, tracking, fast-forward, ff-onlyreferences/refs.md
index, staging area, cache, .git/index, git add, git reset, git rm, git status, staged, unstaged, untracked, index format, extensions, skip-worktree, assume-unchanged, intent-to-add, sparse-checkout, git ls-files, git update-index, git diff-index, git read-tree, git write-tree, DIRC, index versionreferences/index.md
cli, command, subcommand, flag, porcelain, git log, git show, git diff, git status, git add, git commit, git reset, git checkout, git switch, git restore, git stash, git bisect, git blame, git grep, git shortlog, git cherry, git describe, git rerere, git notes, git clean, git mv, git rm, git range-diff, git bugreport, git diagnose, git maintenancereferences/cli.md
branch, merge, fast-forward, merge commit, squash merge, octopus merge, recursive merge, ort strategy, resolve strategy, ours strategy, merge base, git merge-base, git merge, git branch, conflict, merge driver, .gitattributes merge, merge conflict markers, three-way merge, base commit, first-parent merge, no-ff, ff-only, orphan branch, git merge-filereferences/branching-merging.md
remote, fetch, push, pull, refspec, remote-tracking branch, tracking branch, upstream, git remote, git fetch, git push, git pull, transfer protocol, pack protocol, dumb protocol, smart protocol, SSH, HTTPS, git://, file://, git daemon, git http-backend, credential helper, git credential, proxy, mirror, bare push, force push, lease, push options, fetch options, prune, git ls-remote, git archivereferences/remotes.md
rebase, cherry-pick, git rebase, git cherry-pick, interactive rebase, rebase -i, fixup, squash, reword, edit, drop, rebase onto, rebase abort, rebase continue, rebase skip, rebase --autosquash, rebase --update-refs, rebase --rebase-merges, history rewriting, filter-branch, filter-repo, git revert, git reset, git reflog, recover lost commit, git commit --amend, force push, golden rule, rebase vs mergereferences/rebase.md
diff, patch, conflict, conflict resolution, conflict marker, git diff, git diff-index, git diff-tree, git diff-files, git apply, git am, git format-patch, git rerere, merge driver, custom merge driver, .gitattributes, diff algorithm, histogram, patience, myers, word diff, stat, numstat, patch-id, git patch-id, binary diff, git apply --3way, reject file, hunk, context linereferences/diff-patch.md
config, configuration, .gitconfig, .git/config, git config, config level, system, global, local, worktree, include, includeIf, conditional include, config key, config value, config section, config subsection, config list, config edit, config get, config unset, environment variable, GIT_CONFIG, GIT_CONFIG_GLOBAL, GIT_CONFIG_SYSTEM, credential, signing, merge tool, diff tool, core, user, init, alias, multiple values, config precedencereferences/config.md
internals, plumbing, git cat-file, git hash-object, git mktree, git mktag, git update-ref, git write-tree, git commit-tree, git read-tree, git update-index, git unpack-objects, git pack-objects, git index-pack, git verify-pack, git rev-parse, git ls-tree, git ls-files, git for-each-ref, git for-each-repo, git name-rev, git interpret-trailers, git check-attr, git check-ignore, git check-mailmap, git merge-base, git rev-list, git show-index, .git directory layout, gitfile, alternates, replace objects, grafts, env variables, GIT_DIR, GIT_WORK_TREE, GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY, GIT_ALTERNATE_OBJECT_DIRECTORIESreferences/internals.md
worktree, git worktree, linked worktree, pruning worktrees, submodule, git submodule, git submodule update, git submodule init, git submodule sync, git submodule absorbgitdirs, .gitmodules, subtree merge, subtree, git subtree, monorepo, sparse-checkout, git sparse-checkout, cone mode, non-cone mode, partial clone, filter, blobless clone, treeless clone, shallow clone, depth, git clone --depth, single-branch, promisor, lazy fetchreferences/worktree.md
hook, git hook, pre-commit, pre-push, pre-rebase, prepare-commit-msg, commit-msg, post-commit, post-merge, post-checkout, post-rewrite, applypatch-msg, pre-applypatch, pre-receive, update, post-receive, post-update, push-to-checkout, reference-transaction, fsmonitor-watchman, p4-changelist, p4-prepare-changelist, p4-post-changelist, sendemail-validate, hook directory, core.hooksPath, hook ordering, hook exit code, hook environment, hook stdin, hook chaining, client-side hook, server-side hook, husky, lefthookreferences/hooks.md
workflow, git flow, github flow, trunk-based development, feature branch, release branch, hotfix, pull request, code review, conventional commits, semantic versioning, git bisect workflow, git stash workflow, gitignore patterns, .gitignore, LFS, git lfs, lock, git lfs lock, git lfs track, git lfs fetch, git lfs pull, git lfs push, git lfs prune, smudge, clean, attribute, .gitattributes, signing, GPG, SSH sign, commit signing, tag signingreferences/workflows.md

Quick Guide

Cross-Project References

  • For jj (Jujutsu VCS) concepts and commands, use the jj skill (in the carapace-jjlex repo).
  • For carapace-specific git integration (completion actions, macros like tools.git.Changes), see the carapace-dev skill → references/action.md.
  • For bash shell internals that git hooks run in (traps, signals, execution model), see the bash skill → references/execution.md.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

brew

FreeSummary

Use this reference to manage software with Homebrew on macOS or Linux, understand formulas and casks, maintain Brewfiles and services, troubleshoot installations, or work on formula and cask development tasks.

  • Installing, updating, or removing Homebrew packages
  • Managing services and software lists with a Brewfile
  • Writing or updating a formula or cask
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

bubbletea

FreeSummary

Use this reference to build and maintain terminal user interfaces in Go with Bubble Tea. It explains the Model/Update/View cycle, commands and messages, input, rendering, program lifecycle, tests, component composition, and patterns for larger applications.

  • Building a Bubble Tea terminal interface
  • Handling keyboard, mouse, and window resize events
  • Running asynchronous work through commands and messages
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

bun

FreeSummary

Use this reference for JavaScript and TypeScript development with Bun. It explains CLI commands, dependency and lockfile management, testing, bundling code, runtime APIs for files and servers, the Bun shell, configuration, and environment variables.

  • Installing and managing project dependencies
  • Running tests or building a bundle with Bun
  • Starting a server or reading and writing files
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

but

FreeSummary

Use this reference to manage Git work with the GitButler CLI (`but`), including virtual and stacked branches, assigning changes, editing commits, resolving conflicts, and creating pull requests. It also covers the workspace, operation history, interactive TUI, configuration, and AI agent setup.

  • Working on parallel or stacked branches
  • Assigning file changes to a virtual branch
  • Amending, squashing, or rewording commits
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

carapace

FreeSummary

Build and maintain carapace shell completions for command-line tools. The reference covers YAML specs, custom completion actions, shell setup, DSL-aware parsing, MCP use, and documentation for suggested values.

  • Adding shell completion to a CLI
  • Writing a YAML spec or custom completion action
  • Generating completion documentation for values
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

cargo

FreeSummary

Use this reference to work with Cargo, Rust’s package manager and build tool. It explains project manifests, dependencies, features, workspaces, build profiles, configuration, registries, publishing, and commands for building, testing, and inspecting projects.

  • Setting up dependencies in Cargo.toml
  • Understanding features and workspace settings
  • Choosing Cargo commands to build or test a project
carapace-sh/carapace-bin2KUpdated Oct 26, 2026

See all skills by carapace-sh

Report a problem with this skill