-
A commit and information about how it was looked up by the user.
-
Apply patches to the working directory or index
-
Attribute management routines
-
Specify a file's most recent changes per-line
-
A blob represents a file in a git repository.
-
Branch creation and handling
-
A data structure to return data to callers
-
TLS and SSH certificate handling
-
Update the contents of the working directory
-
Cherry-pick the contents of an individual commit
-
Clone a remote repository to the local disk
-
A representation of a set of changes in the repository
-
Base platform functionality
-
Per-repository, per-user or per-system configuration
-
Authentication and credential management
-
Utility functions for credential management
-
Deprecated functions and values
-
Describe a commit in reference to tags
-
Indicate the differences between two versions of the repository
-
Produce email-ready patches
-
Error handling routines and variables
-
Filters modify files during checkout or commit
-
libgit2 library initializer and shutdown functionality
-
Graph traversal routines
-
Ignore particular untracked files
-
Index (aka "cache" aka "staging area")
-
Packfile indexing
-
Mailmaps provide alternate email addresses for users
-
Merge re-joins diverging branches of history
-
Commit messages
-
Low-level networking functionality
-
Notes are metadata attached to an object
-
Objects are blobs (files), trees (directories), commits, and annotated tags
-
An object database manages the storage of git objects
-
Object database backends manage the storage of git objects
-
Object IDs
-
An array of object IDs
-
Git pack management routines
-
Patches store the textual diffs in a delta
-
Specifiers for path matching
-
TLS proxies
-
Rebase manipulates commits, placing them on a new parent
-
A database for references (branches and tags)
-
Reference logs store how references change
-
References point to a commit; generally these are branches and tags
-
Refspecs map local references to remote references
-
Remotes are where local repositories fetch from and push to
-
The repository stores revisions for a source tree
-
Reset will update the local repository to a prior state
-
Cherry-pick the inverse of a change to "undo" its effects
-
Parse the textual revision information
-
Traverse (walk) the commit graph (revision history)
-
Signatures are the actor in a repository and when they acted
-
Stashes stores some uncommitted state in the repository
-
Status indicates how a user has changed the working directory and index
-
An array of strings for the user to free
-
Submodules place another repository's contents within this one
-
A (nearly) immutable pointer to a commit; useful for versioning
-
Tracing functionality to introspect libgit2 in your application
-
Transactional reference handling
-
Transports are the low-level mechanism to connect to a remote server
-
Trees are collections of files and folders to make up the repository hierarchy
-
libgit2 base & compatibility types
-
The version of libgit2
-
Additional working directories for a repository
-
Custom memory allocators
-
Low-level Git commit creation
-
Commit graphs store information about commit relationships
-
Custom configuration database backends
-
Low-level credentials implementation
-
Low-level diff utilities
-
Advanced git email creation routines
-
Advanced error handling
-
Custom filter backends and plugins
-
Signatures for file similarity comparison
-
Low-level index manipulation routines
-
A custom object database backend for storing objects in-memory
-
Custom merge drivers
-
Incremental multi-pack indexes
-
Object database backends for custom object storage
-
Custom OpenSSL functionality
-
Custom path handling
-
Custom reference database backends for refs storage
-
Low-level git reference creation
-
Low-level remote functionality for custom transports
-
Custom repository handling
-
Streaming file I/O functionality
-
Custom transport registration interfaces and functions