# Functions
Add will run git status and return the result.
CheckoutBranch checks out a branch.
CommitChanges will run git commit.
DeleteBranch will run git delete for a branch.
GetBranches gets all local branches.
GetCurrentBranch takes a slice of branch names and returns the current branch based on which one starts with an *.
GetFilesOrNothingToCommit will return a slice of files that aren't tracked and if there is nothing to commit, a true flag.
GetFilesToBeCommitted will return a slice of strings from a git status result.
GetNotStagedFiles will return a slice of files that are not staged for commit.
Merge will run git merge and return the result.
Push will run a git push command and return the result.
RemoveCurrentBranch will remove the current branch from a list of branches.
RemoveOriginHead will remove a the head branch.
RemoveRemoteOriginFromName removes the remotes/origin part of the branch.
SplitBranches takes a string of branches with newline separators and splits them into a slice.
Status will run git status and return the result.
# Variables
ErrBranchDoesNotExist is an error for when the branch asked to be checked out, doesn't exist.
ErrNoCurrentBranchFound is an error returned when the input branches doesn't contain a current branch indicator.