# git v0.4.0 - Table of Contents A clean Elixir wrapper for the git CLI with parsed output structs ## Pages - [Git](readme.md) ## Modules - [Git](Git.md): An Elixir wrapper for the git CLI. - Higher-Level - [Git.Branches](Git.Branches.md): Higher-level branch workflow operations that compose multiple lower-level `Git` commands. - [Git.Changes](Git.Changes.md): Higher-level change analysis helpers that compose lower-level `Git` functions. - [Git.Conflicts](Git.Conflicts.md): Merge conflict detection and resolution helpers that compose `Git.status/1` and `Git.merge/2`. - [Git.History](Git.History.md): Higher-level history query helpers that compose lower-level `Git` functions. - [Git.Hooks](Git.Hooks.md): Helpers for reading, writing, and managing git hooks. - [Git.Info](Git.Info.md): One-call repository introspection helpers that compose lower-level `Git` functions. - [Git.Patch](Git.Patch.md): Higher-level patch workflow operations that compose `Git.format_patch/1`, `Git.apply_patch/1`, and `Git.am/1`. - [Git.Remotes](Git.Remotes.md): Higher-level remote management helpers that compose lower-level `Git` functions. - [Git.Repo](Git.Repo.md): A stateful repository abstraction for the git CLI wrapper. - [Git.Search](Git.Search.md): Higher-level search helpers that compose lower-level `Git` functions. - [Git.Stashes](Git.Stashes.md): Higher-level stash management operations that compose the lower-level `Git.stash/1` command. - [Git.Tags](Git.Tags.md): Higher-level tag management helpers that compose lower-level `Git` functions. - [Git.Workflow](Git.Workflow.md): Composable helpers for common multi-step git workflows. - Data Structures - [Git.BisectResult](Git.BisectResult.md): Result of a git bisect operation. - [Git.BlameEntry](Git.BlameEntry.md): Struct representing a single parsed git blame entry. - [Git.Branch](Git.Branch.md): Parsed representation of a git branch entry. - [Git.Checkout](Git.Checkout.md): Represents the result of a `git checkout` branch operation. - [Git.CherryEntry](Git.CherryEntry.md): Parsed representation of a `git cherry` output line. - [Git.CherryPickResult](Git.CherryPickResult.md): Represents the parsed result of a `git cherry-pick` command. - [Git.Commit](Git.Commit.md): Struct representing a single parsed git commit entry. - [Git.CommitResult](Git.CommitResult.md): Represents the parsed result of a `git commit` command. - [Git.Diff](Git.Diff.md): Parsed representation of `git diff` output. - [Git.DiffFile](Git.DiffFile.md): Parsed representation of a single file's contribution to a `git diff --stat`. - [Git.GrepResult](Git.GrepResult.md): Struct representing a single parsed git grep match. - [Git.LsRemoteEntry](Git.LsRemoteEntry.md): Struct representing a single entry from `git ls-remote` output. - [Git.MergeResult](Git.MergeResult.md): Represents the parsed result of a `git merge` command. - [Git.PullResult](Git.PullResult.md): Represents the parsed result of a `git pull` command. - [Git.RebaseResult](Git.RebaseResult.md): Represents the parsed result of a `git rebase` command. - [Git.ReflogEntry](Git.ReflogEntry.md): Parsed representation of a single git reflog entry. - [Git.Remote](Git.Remote.md): Represents a git remote with its name, fetch URL, and push URL. - [Git.RevertResult](Git.RevertResult.md): Represents the parsed result of a `git revert` command. - [Git.ShortlogEntry](Git.ShortlogEntry.md): Parsed representation of a git shortlog entry. - [Git.ShowResult](Git.ShowResult.md): Represents the parsed result of a `git show` command. - [Git.StashEntry](Git.StashEntry.md): Parsed representation of a git stash entry. - [Git.Status](Git.Status.md): Parsed representation of `git status --porcelain=v1 -b` output. - [Git.SubmoduleEntry](Git.SubmoduleEntry.md): Parsed representation of a git submodule status entry. - [Git.Tag](Git.Tag.md): Parsed representation of a git tag. - [Git.TreeEntry](Git.TreeEntry.md): Struct representing a single entry from `git ls-tree` output. - [Git.Worktree](Git.Worktree.md): Parsed representation of a git worktree entry. - Commands - [Git.Commands.Add](Git.Commands.Add.md): Implements the `Git.Command` behaviour for `git add`. - [Git.Commands.Am](Git.Commands.Am.md): Implements the `Git.Command` behaviour for `git am`. - [Git.Commands.Apply](Git.Commands.Apply.md): Implements the `Git.Command` behaviour for `git apply`. - [Git.Commands.Archive](Git.Commands.Archive.md): Implements the `Git.Command` behaviour for `git archive`. - [Git.Commands.Bisect](Git.Commands.Bisect.md): Implements the `Git.Command` behaviour for `git bisect`. - [Git.Commands.Blame](Git.Commands.Blame.md): Implements the `Git.Command` behaviour for `git blame`. - [Git.Commands.Branch](Git.Commands.Branch.md): Implements the `Git.Command` behaviour for `git branch`. - [Git.Commands.Bundle](Git.Commands.Bundle.md): Implements the `Git.Command` behaviour for `git bundle`. - [Git.Commands.CatFile](Git.Commands.CatFile.md): Implements the `Git.Command` behaviour for `git cat-file`. - [Git.Commands.CheckIgnore](Git.Commands.CheckIgnore.md): Implements the `Git.Command` behaviour for `git check-ignore`. - [Git.Commands.Checkout](Git.Commands.Checkout.md): Implements the `Git.Command` behaviour for `git checkout`. - [Git.Commands.Cherry](Git.Commands.Cherry.md): Implements the `Git.Command` behaviour for `git cherry`. - [Git.Commands.CherryPick](Git.Commands.CherryPick.md): Implements the `Git.Command` behaviour for `git cherry-pick`. - [Git.Commands.Clean](Git.Commands.Clean.md): Implements the `Git.Command` behaviour for `git clean`. - [Git.Commands.Clone](Git.Commands.Clone.md): Implements the `Git.Command` behaviour for `git clone`. - [Git.Commands.Commit](Git.Commands.Commit.md): Implements the `Git.Command` behaviour for `git commit`. - [Git.Commands.Describe](Git.Commands.Describe.md): Implements the `Git.Command` behaviour for `git describe`. - [Git.Commands.Diff](Git.Commands.Diff.md): Implements the `Git.Command` behaviour for `git diff`. - [Git.Commands.Fetch](Git.Commands.Fetch.md): Implements the `Git.Command` behaviour for `git fetch`. - [Git.Commands.ForEachRef](Git.Commands.ForEachRef.md): Implements the `Git.Command` behaviour for `git for-each-ref`. - [Git.Commands.FormatPatch](Git.Commands.FormatPatch.md): Implements the `Git.Command` behaviour for `git format-patch`. - [Git.Commands.Fsck](Git.Commands.Fsck.md): Implements the `Git.Command` behaviour for `git fsck`. - [Git.Commands.Gc](Git.Commands.Gc.md): Implements the `Git.Command` behaviour for `git gc`. - [Git.Commands.GitConfig](Git.Commands.GitConfig.md): Implements the `Git.Command` behaviour for `git config`. - [Git.Commands.Grep](Git.Commands.Grep.md): Implements the `Git.Command` behaviour for `git grep`. - [Git.Commands.HashObject](Git.Commands.HashObject.md): Implements the `Git.Command` behaviour for `git hash-object`. - [Git.Commands.Init](Git.Commands.Init.md): Implements the `Git.Command` behaviour for `git init`. - [Git.Commands.InterpretTrailers](Git.Commands.InterpretTrailers.md): Implements the `Git.Command` behaviour for `git interpret-trailers`. - [Git.Commands.Log](Git.Commands.Log.md): Implements the `Git.Command` behaviour for `git log`. - [Git.Commands.LsFiles](Git.Commands.LsFiles.md): Implements the `Git.Command` behaviour for `git ls-files`. - [Git.Commands.LsRemote](Git.Commands.LsRemote.md): Implements the `Git.Command` behaviour for `git ls-remote`. - [Git.Commands.LsTree](Git.Commands.LsTree.md): Implements the `Git.Command` behaviour for `git ls-tree`. - [Git.Commands.Maintenance](Git.Commands.Maintenance.md): Implements the `Git.Command` behaviour for `git maintenance`. - [Git.Commands.Merge](Git.Commands.Merge.md): Implements the `Git.Command` behaviour for `git merge`. - [Git.Commands.MergeBase](Git.Commands.MergeBase.md): Implements the `Git.Command` behaviour for `git merge-base`. - [Git.Commands.Mv](Git.Commands.Mv.md): Implements the `Git.Command` behaviour for `git mv`. - [Git.Commands.Notes](Git.Commands.Notes.md): Implements the `Git.Command` behaviour for `git notes`. - [Git.Commands.Pull](Git.Commands.Pull.md): Implements the `Git.Command` behaviour for `git pull`. - [Git.Commands.Push](Git.Commands.Push.md): Implements the `Git.Command` behaviour for `git push`. - [Git.Commands.RangeDiff](Git.Commands.RangeDiff.md): Implements the `Git.Command` behaviour for `git range-diff`. - [Git.Commands.Rebase](Git.Commands.Rebase.md): Implements the `Git.Command` behaviour for `git rebase`. - [Git.Commands.Reflog](Git.Commands.Reflog.md): Implements the `Git.Command` behaviour for `git reflog`. - [Git.Commands.Remote](Git.Commands.Remote.md): Implements the `Git.Command` behaviour for `git remote`. - [Git.Commands.Rerere](Git.Commands.Rerere.md): Implements the `Git.Command` behaviour for `git rerere`. - [Git.Commands.Reset](Git.Commands.Reset.md): Implements the `Git.Command` behaviour for `git reset`. - [Git.Commands.Restore](Git.Commands.Restore.md): Implements the `Git.Command` behaviour for `git restore`. - [Git.Commands.RevList](Git.Commands.RevList.md): Implements the `Git.Command` behaviour for `git rev-list`. - [Git.Commands.RevParse](Git.Commands.RevParse.md): Implements the `Git.Command` behaviour for `git rev-parse`. - [Git.Commands.Revert](Git.Commands.Revert.md): Implements the `Git.Command` behaviour for `git revert`. - [Git.Commands.Rm](Git.Commands.Rm.md): Implements the `Git.Command` behaviour for `git rm`. - [Git.Commands.Shortlog](Git.Commands.Shortlog.md): Implements the `Git.Command` behaviour for `git shortlog`. - [Git.Commands.Show](Git.Commands.Show.md): Implements the `Git.Command` behaviour for `git show`. - [Git.Commands.ShowRef](Git.Commands.ShowRef.md): Implements the `Git.Command` behaviour for `git show-ref`. - [Git.Commands.SparseCheckout](Git.Commands.SparseCheckout.md): Implements the `Git.Command` behaviour for `git sparse-checkout`. - [Git.Commands.Stash](Git.Commands.Stash.md): Implements the `Git.Command` behaviour for `git stash`. - [Git.Commands.Status](Git.Commands.Status.md): Implements the `Git.Command` behaviour for `git status`. - [Git.Commands.Submodule](Git.Commands.Submodule.md): Implements the `Git.Command` behaviour for `git submodule`. - [Git.Commands.Switch](Git.Commands.Switch.md): Implements the `Git.Command` behaviour for `git switch`. - [Git.Commands.SymbolicRef](Git.Commands.SymbolicRef.md): Implements the `Git.Command` behaviour for `git symbolic-ref`. - [Git.Commands.Tag](Git.Commands.Tag.md): Implements the `Git.Command` behaviour for `git tag`. - [Git.Commands.UpdateRef](Git.Commands.UpdateRef.md): Implements the `Git.Command` behaviour for `git update-ref`. - [Git.Commands.VerifyCommit](Git.Commands.VerifyCommit.md): Implements the `Git.Command` behaviour for `git verify-commit`. - [Git.Commands.VerifyTag](Git.Commands.VerifyTag.md): Implements the `Git.Command` behaviour for `git verify-tag`. - [Git.Commands.Worktree](Git.Commands.Worktree.md): Implements the `Git.Command` behaviour for `git worktree`. - Internals - [Git.Command](Git.Command.md): Behaviour and runner for git commands. - [Git.Config](Git.Config.md): Configuration for the git CLI wrapper.