module Git::Commands
Internal command layer for the git gem
Each git operation is represented by a class within this namespace. Command classes define the CLI contract via the {Arguments} DSL, bind caller-supplied parameters to command-line flags and operands, execute the subprocess through {Git::CommandLine}, and return a raw {Git::CommandLine::Result}.
Commands do not parse output β that responsibility belongs to the {Git::Parsers} layer, orchestrated by the facade ({Git::Repository}).
All classes in this namespace are internal (β@api private`). End users should interact with the public API on {Git::Repository} instead.
## Architecture
ββ Git::Repository (public API / facade β orchestrates commands + parsers)
βββ Git::Commands::* (defines CLI API, binds args, executes)
βββ Git::CommandLine (subprocess execution)
ββ
Simple commands inherit from {Commands::Base} and only need an βarguments` block. Multi-mode git commands (e.g., `git branch`, `git stash`) are split into namespace modules with one class per mode.
@see Git::Commands::Base
@api private