# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
Add does a git add for all the given arguments.
AddAndCommitFiles add and commits files.
AddRemote adds a remote repository at the given URL and with the given name.
Branch returns the current branch of the repository located at the given directory.
Checkout checks out the given branch.
CheckoutRemoteBranch checks out the given remote tracking branch.
CloneOrPull performs a clone if the directory is empty otherwise a pull.
CloneToDir clones the git repository to either the given directory or create a temporary.
CommiIfChanges does a commit if there are any changes in the repository at the given directory.
CreateBranch creates a dynamic branch name and branch.
CreateBranchFrom creates a new branch called branchName from startPoint.
Describe does a git describe of commitish, optionally adding the abbrev arg if not empty, falling back to just the commit ref if it's untagged.
EnsureUserAndEmailSetup returns the user name and email for the gitter lazily setting them if they are blank either from the given values or if they are empty using environment variables `GIT_AUTHOR_NAME` and `GIT_AUTHOR_EMAIL` or using default values.
FetchBranch fetches the refspecs from the repo.
FetchRemoteTags fetches all the tags from a remote repository.
FetchTags fetches all the tags.
FilterTags returns all tags from the repository at the given directory that match the filter.
FindGitConfigDir tries to find the `.git` directory either in the current directory or in parent directories.
ForcePushBranch does a force push of the local branch into the remote branch of the repository at the given directory.
GetCommitPointedToByLatestTag return the SHA of the commit pointed to by the latest git tag as well as the tag name for the git repo in dir.
GetLatestCommitAuthor returns the latest git commit author.
GetLatestCommitAuthorEmail returns the latest git commit author email.
GetLatestCommitDate returns the latest git commit date in RFC2822 format.
GetLatestCommitMessage returns the latest git commit message.
GetLatestCommitSha returns the latest commit sha.
GetSizePack returns the disk space consumed by the packs in a repository in bytes.
HasChanges indicates if there are any changes in the repository from the given directory.
HasFileChanged indicates if there are any changes to a file in the repository from the given directory.
Init inits a git repository into the given directory.
Merge merges the commitish into the current branch.
NthTag return the SHA and tag name of nth tag in reverse chronological order from the repository at the given directory.
PartialCloneToDir Partially clones the git repository to either the given directory or create a temporary one Alternative to SparseCloneToDir when git provider does not support sparse-checkout sparseCheckoutPatterns not supported If shallow is true the clone is made with --depth=1.
Pull performs a git pull.
Push pushes the changes from the repository at the given directory.
RefIsBranch looks for remove branches in ORIGIN for the provided directory and returns true if ref is found.
RemoteBranches returns the remote branches.
Remove removes the given file from a Git repository located at the given directory.
SetCredentialHelper sets the credential store so that we detect the ~/git/credentials file for defaulting access tokens.
SetUpstreamTo will set the given branch to track the origin branch with the same name.
SetUserAndEmail sets the user and email if they have not been set Uses environment variables `GIT_AUTHOR_NAME` and `GIT_AUTHOR_EMAIL`.
ShallowCloneBranch clones a single branch of the given git URL into the given directory.
SparseCloneToDir clones the git repository sparsely to either the given directory or create a temporary on.
Status returns the status of the git repository at the given directory.
Tags returns all tags from the repository at the given directory.
# Constants
DefaultGitUserEmail default value to use for git "user.email".
DefaultGitUserName default value to use for git "user.name".
# Interfaces
Interface a simple interface to performing git commands which is easy to fake for testing.