Documentation ¶
Overview ¶
Package git provides access to Git.
Index ¶
- func IsAhead(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
- func IsAheadAndBehind(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
- func IsBehind(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
- func IsInSync(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
- func IsRemoteGone(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
- func LastBranchInRef(output string) string
- func ParseActiveBranchDuringRebase(lineWithStar string) gitdomain.LocalBranchName
- func ParseVerboseBranchesOutput(output string) (gitdomain.BranchInfos, gitdomain.LocalBranchName)
- type BackendCommands
- func (self *BackendCommands) BranchAuthors(branch, parent gitdomain.LocalBranchName) ([]gitdomain.Author, error)
- func (self *BackendCommands) BranchExists(branch gitdomain.LocalBranchName) bool
- func (self *BackendCommands) BranchHasUnmergedChanges(branch, parent gitdomain.LocalBranchName) (bool, error)
- func (self *BackendCommands) BranchesSnapshot() (gitdomain.BranchesSnapshot, error)
- func (self *BackendCommands) CheckoutBranch(name gitdomain.LocalBranchName) error
- func (self *BackendCommands) CheckoutBranchUncached(name gitdomain.LocalBranchName) error
- func (self *BackendCommands) CommentOutSquashCommitMessage(prefix string) error
- func (self *BackendCommands) CommitsInBranch(branch, parent gitdomain.LocalBranchName) (gitdomain.Commits, error)
- func (self *BackendCommands) CommitsInFeatureBranch(branch, parent gitdomain.LocalBranchName) (gitdomain.Commits, error)
- func (self *BackendCommands) CommitsInPerennialBranch() (gitdomain.Commits, error)
- func (self *BackendCommands) CurrentBranch() (gitdomain.LocalBranchName, error)
- func (self *BackendCommands) CurrentBranchUncached() (gitdomain.LocalBranchName, error)
- func (self *BackendCommands) CurrentSHA() (gitdomain.SHA, error)
- func (self *BackendCommands) DefaultBranch() gitdomain.LocalBranchName
- func (self *BackendCommands) FirstExistingBranch(branches gitdomain.LocalBranchNames, mainBranch gitdomain.LocalBranchName) gitdomain.LocalBranchName
- func (self *BackendCommands) HasLocalBranch(name gitdomain.LocalBranchName) bool
- func (self *BackendCommands) HasMergeInProgress() bool
- func (self *BackendCommands) HasShippableChanges(branch, mainBranch gitdomain.LocalBranchName) (bool, error)
- func (self *BackendCommands) LastCommitMessage() (gitdomain.CommitMessage, error)
- func (self *BackendCommands) OriginHead() gitdomain.LocalBranchName
- func (self *BackendCommands) PreviouslyCheckedOutBranch() gitdomain.LocalBranchName
- func (self *BackendCommands) Remotes() (gitdomain.Remotes, error)
- func (self *BackendCommands) RemotesUncached() (gitdomain.Remotes, error)
- func (self *BackendCommands) RepoStatus() (gitdomain.RepoStatus, error)
- func (self *BackendCommands) RootDirectory() gitdomain.RepoRootDir
- func (self *BackendCommands) SHAForBranch(name gitdomain.BranchName) (gitdomain.SHA, error)
- func (self *BackendCommands) ShouldPushBranch(branch gitdomain.LocalBranchName, trackingBranch gitdomain.RemoteBranchName) (bool, error)
- func (self *BackendCommands) StashSize() (gitdomain.StashSize, error)
- func (self *BackendCommands) Version() (major int, minor int, err error)
- type BackendRunner
- type FrontendCommands
- func (self *FrontendCommands) AbortMerge() error
- func (self *FrontendCommands) AbortRebase() error
- func (self *FrontendCommands) CheckoutBranch(name gitdomain.LocalBranchName, merge bool) error
- func (self *FrontendCommands) Commit(message gitdomain.CommitMessage, author gitdomain.Author) error
- func (self *FrontendCommands) CommitNoEdit() error
- func (self *FrontendCommands) CommitStagedChanges(message string) error
- func (self *FrontendCommands) ContinueRebase() error
- func (self *FrontendCommands) CreateAndCheckoutBranch(name gitdomain.LocalBranchName) error
- func (self *FrontendCommands) CreateAndCheckoutBranchWithParent(name gitdomain.LocalBranchName, parent gitdomain.Location) error
- func (self *FrontendCommands) CreateBranch(name gitdomain.LocalBranchName, parent gitdomain.Location) error
- func (self *FrontendCommands) CreateRemoteBranch(localSHA gitdomain.SHA, branch gitdomain.LocalBranchName, ...) error
- func (self *FrontendCommands) CreateTrackingBranch(branch gitdomain.LocalBranchName, remote gitdomain.Remote, ...) error
- func (self *FrontendCommands) DeleteHostingPlatform() error
- func (self *FrontendCommands) DeleteLastCommit() error
- func (self *FrontendCommands) DeleteLocalBranch(name gitdomain.LocalBranchName) error
- func (self *FrontendCommands) DeleteOriginHostname() error
- func (self *FrontendCommands) DeleteTrackingBranch(name gitdomain.RemoteBranchName) error
- func (self *FrontendCommands) DiffParent(branch, parentBranch gitdomain.LocalBranchName) error
- func (self *FrontendCommands) DiscardOpenChanges() error
- func (self *FrontendCommands) Fetch() error
- func (self *FrontendCommands) FetchUpstream(branch gitdomain.LocalBranchName) error
- func (self *FrontendCommands) ForcePushBranchSafely(noPushHook configdomain.NoPushHook) error
- func (self *FrontendCommands) MergeBranchNoEdit(branch gitdomain.BranchName) error
- func (self *FrontendCommands) NavigateToDir(dir gitdomain.RepoRootDir) error
- func (self *FrontendCommands) PopStash() error
- func (self *FrontendCommands) Pull() error
- func (self *FrontendCommands) PushCurrentBranch(noPushHook configdomain.NoPushHook) error
- func (self *FrontendCommands) PushTags() error
- func (self *FrontendCommands) Rebase(target gitdomain.BranchName) error
- func (self *FrontendCommands) RemoveCommitsInCurrentBranch(parent gitdomain.LocalBranchName) error
- func (self *FrontendCommands) RemoveGitAlias(aliasableCommand configdomain.AliasableCommand) error
- func (self *FrontendCommands) ResetCurrentBranchToSHA(sha gitdomain.SHA, hard bool) error
- func (self *FrontendCommands) ResetRemoteBranchToSHA(branch gitdomain.RemoteBranchName, sha gitdomain.SHA) error
- func (self *FrontendCommands) RevertCommit(sha gitdomain.SHA) error
- func (self *FrontendCommands) SetGitAlias(aliasableCommand configdomain.AliasableCommand) error
- func (self *FrontendCommands) SetGitHubToken(value configdomain.GitHubToken) error
- func (self *FrontendCommands) SetGitLabToken(value configdomain.GitLabToken) error
- func (self *FrontendCommands) SetGiteaToken(value configdomain.GiteaToken) error
- func (self *FrontendCommands) SetHostingPlatform(platform configdomain.HostingPlatform) error
- func (self *FrontendCommands) SetOriginHostname(hostname configdomain.HostingOriginHostname) error
- func (self *FrontendCommands) SquashMerge(branch gitdomain.LocalBranchName) error
- func (self *FrontendCommands) StageFiles(names ...string) error
- func (self *FrontendCommands) StartCommit() error
- func (self *FrontendCommands) Stash() error
- func (self *FrontendCommands) UndoLastCommit() error
- type FrontendRunner
- type ProdRunner
- type SetCachedCurrentBranchFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsAheadAndBehind ¶
func IsAheadAndBehind(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
func IsRemoteGone ¶
func IsRemoteGone(branchName, remoteText string) (bool, gitdomain.RemoteBranchName)
IsRemoteGone indicates whether the given remoteText indicates a deleted tracking branch.
func LastBranchInRef ¶ added in v14.1.0
func ParseActiveBranchDuringRebase ¶
func ParseActiveBranchDuringRebase(lineWithStar string) gitdomain.LocalBranchName
func ParseVerboseBranchesOutput ¶
func ParseVerboseBranchesOutput(output string) (gitdomain.BranchInfos, gitdomain.LocalBranchName)
ParseVerboseBranchesOutput provides the branches in the given Git output as well as the name of the currently checked out branch.
Types ¶
type BackendCommands ¶
type BackendCommands struct { CurrentBranchCache *cache.LocalBranchWithPrevious // caches the currently checked out Git branch DryRun bool RemotesCache *cache.Remotes // caches Git remotes Runner BackendRunner // executes shell commands in the directory of the Git repo }
BackendCommands are Git commands that Git Town executes to determine which frontend commands to run. They don't change the user's repo, execute instantaneously, and Git Town needs to know their output. They are invisible to the end user unless the "verbose" option is set.
func (*BackendCommands) BranchAuthors ¶
func (self *BackendCommands) BranchAuthors(branch, parent gitdomain.LocalBranchName) ([]gitdomain.Author, error)
BranchAuthors provides the user accounts that contributed to the given branch. Returns lines of "name <email>".
func (*BackendCommands) BranchExists ¶
func (self *BackendCommands) BranchExists(branch gitdomain.LocalBranchName) bool
func (*BackendCommands) BranchHasUnmergedChanges ¶
func (self *BackendCommands) BranchHasUnmergedChanges(branch, parent gitdomain.LocalBranchName) (bool, error)
BranchHasUnmergedChanges indicates whether the branch with the given name contains changes that were not merged into the main branch.
func (*BackendCommands) BranchesSnapshot ¶
func (self *BackendCommands) BranchesSnapshot() (gitdomain.BranchesSnapshot, error)
BranchesSnapshot provides detailed information about the sync status of all branches.
func (*BackendCommands) CheckoutBranch ¶
func (self *BackendCommands) CheckoutBranch(name gitdomain.LocalBranchName) error
CheckoutBranch checks out the Git branch with the given name.
func (*BackendCommands) CheckoutBranchUncached ¶
func (self *BackendCommands) CheckoutBranchUncached(name gitdomain.LocalBranchName) error
CheckoutBranch checks out the Git branch with the given name.
func (*BackendCommands) CommentOutSquashCommitMessage ¶
func (self *BackendCommands) CommentOutSquashCommitMessage(prefix string) error
CommentOutSquashCommitMessage comments out the message for the current squash merge Adds the given prefix with the newline if provided.
func (*BackendCommands) CommitsInBranch ¶
func (self *BackendCommands) CommitsInBranch(branch, parent gitdomain.LocalBranchName) (gitdomain.Commits, error)
func (*BackendCommands) CommitsInFeatureBranch ¶
func (self *BackendCommands) CommitsInFeatureBranch(branch, parent gitdomain.LocalBranchName) (gitdomain.Commits, error)
func (*BackendCommands) CommitsInPerennialBranch ¶
func (self *BackendCommands) CommitsInPerennialBranch() (gitdomain.Commits, error)
func (*BackendCommands) CurrentBranch ¶
func (self *BackendCommands) CurrentBranch() (gitdomain.LocalBranchName, error)
CurrentBranch provides the name of the currently checked out branch.
func (*BackendCommands) CurrentBranchUncached ¶
func (self *BackendCommands) CurrentBranchUncached() (gitdomain.LocalBranchName, error)
CurrentBranch provides the currently checked out branch.
func (*BackendCommands) CurrentSHA ¶
func (self *BackendCommands) CurrentSHA() (gitdomain.SHA, error)
CurrentSHA provides the SHA of the currently checked out branch/commit.
func (*BackendCommands) DefaultBranch ¶
func (self *BackendCommands) DefaultBranch() gitdomain.LocalBranchName
func (*BackendCommands) FirstExistingBranch ¶
func (self *BackendCommands) FirstExistingBranch(branches gitdomain.LocalBranchNames, mainBranch gitdomain.LocalBranchName) gitdomain.LocalBranchName
func (*BackendCommands) HasLocalBranch ¶
func (self *BackendCommands) HasLocalBranch(name gitdomain.LocalBranchName) bool
HasLocalBranch indicates whether this repo has a local branch with the given name.
func (*BackendCommands) HasMergeInProgress ¶
func (self *BackendCommands) HasMergeInProgress() bool
HasMergeInProgress indicates whether this Git repository currently has a merge in progress.
func (*BackendCommands) HasShippableChanges ¶
func (self *BackendCommands) HasShippableChanges(branch, mainBranch gitdomain.LocalBranchName) (bool, error)
HasShippableChanges indicates whether the given branch has changes not currently in the main branch.
func (*BackendCommands) LastCommitMessage ¶
func (self *BackendCommands) LastCommitMessage() (gitdomain.CommitMessage, error)
LastCommitMessage provides the commit message for the last commit.
func (*BackendCommands) OriginHead ¶ added in v14.1.0
func (self *BackendCommands) OriginHead() gitdomain.LocalBranchName
func (*BackendCommands) PreviouslyCheckedOutBranch ¶
func (self *BackendCommands) PreviouslyCheckedOutBranch() gitdomain.LocalBranchName
PreviouslyCheckedOutBranch provides the name of the branch that was previously checked out in this repo.
func (*BackendCommands) Remotes ¶
func (self *BackendCommands) Remotes() (gitdomain.Remotes, error)
Remotes provides the names of all Git remotes in this repository.
func (*BackendCommands) RemotesUncached ¶
func (self *BackendCommands) RemotesUncached() (gitdomain.Remotes, error)
Remotes provides the names of all Git remotes in this repository.
func (*BackendCommands) RepoStatus ¶
func (self *BackendCommands) RepoStatus() (gitdomain.RepoStatus, error)
RepoStatus provides a summary of the state the current workspace is in right now: rebasing, has conflicts, has open changes, etc.
func (*BackendCommands) RootDirectory ¶
func (self *BackendCommands) RootDirectory() gitdomain.RepoRootDir
RootDirectory provides the path of the root directory of the current repository, i.e. the directory that contains the ".git" folder.
func (*BackendCommands) SHAForBranch ¶
func (self *BackendCommands) SHAForBranch(name gitdomain.BranchName) (gitdomain.SHA, error)
SHAForBranch provides the SHA for the local branch with the given name.
func (*BackendCommands) ShouldPushBranch ¶
func (self *BackendCommands) ShouldPushBranch(branch gitdomain.LocalBranchName, trackingBranch gitdomain.RemoteBranchName) (bool, error)
ShouldPushBranch returns whether the local branch with the given name contains commits that have not been pushed to its tracking branch.
type BackendRunner ¶
type FrontendCommands ¶
type FrontendCommands struct { Runner FrontendRunner SetCachedCurrentBranch SetCachedCurrentBranchFunc }
FrontendCommands are Git commands that Git Town executes for the user to change the user's repository. They can take a while to execute (fetch, push) and stream their output to the user. Git Town only needs to know the exit code of frontend commands.
func (*FrontendCommands) AbortMerge ¶
func (self *FrontendCommands) AbortMerge() error
AbortMerge cancels a currently ongoing Git merge operation.
func (*FrontendCommands) AbortRebase ¶
func (self *FrontendCommands) AbortRebase() error
AbortRebase cancels a currently ongoing Git rebase operation.
func (*FrontendCommands) CheckoutBranch ¶
func (self *FrontendCommands) CheckoutBranch(name gitdomain.LocalBranchName, merge bool) error
CheckoutBranch checks out the Git branch with the given name in this repo, optionally using a three-way merge.
func (*FrontendCommands) Commit ¶
func (self *FrontendCommands) Commit(message gitdomain.CommitMessage, author gitdomain.Author) error
Commit performs a commit of the staged changes with an optional custom message and author.
func (*FrontendCommands) CommitNoEdit ¶
func (self *FrontendCommands) CommitNoEdit() error
CommitNoEdit commits all staged files with the default commit message.
func (*FrontendCommands) CommitStagedChanges ¶
func (self *FrontendCommands) CommitStagedChanges(message string) error
CommitStagedChanges commits the currently staged changes.
func (*FrontendCommands) ContinueRebase ¶
func (self *FrontendCommands) ContinueRebase() error
ContinueRebase continues the currently ongoing rebase.
func (*FrontendCommands) CreateAndCheckoutBranch ¶
func (self *FrontendCommands) CreateAndCheckoutBranch(name gitdomain.LocalBranchName) error
CreateAndCheckoutBranch creates a new branch with the given name and checks it out using a single Git operation. The created branch is a normal branch. To create feature branches, use CreateFeatureBranch.
func (*FrontendCommands) CreateAndCheckoutBranchWithParent ¶
func (self *FrontendCommands) CreateAndCheckoutBranchWithParent(name gitdomain.LocalBranchName, parent gitdomain.Location) error
CreateAndCheckoutBranchWithParent creates a new branch with the given name and parent and checks it out using a single Git operation. The created branch is a normal branch. To create feature branches, use CreateFeatureBranch.
func (*FrontendCommands) CreateBranch ¶
func (self *FrontendCommands) CreateBranch(name gitdomain.LocalBranchName, parent gitdomain.Location) error
CreateBranch creates a new branch with the given name. The created branch is a normal branch. To create feature branches, use CreateFeatureBranch.
func (*FrontendCommands) CreateRemoteBranch ¶
func (self *FrontendCommands) CreateRemoteBranch(localSHA gitdomain.SHA, branch gitdomain.LocalBranchName, noPushHook configdomain.NoPushHook) error
CreateRemoteBranch creates a remote branch from the given local SHA.
func (*FrontendCommands) CreateTrackingBranch ¶
func (self *FrontendCommands) CreateTrackingBranch(branch gitdomain.LocalBranchName, remote gitdomain.Remote, noPushHook configdomain.NoPushHook) error
PushBranch pushes the branch with the given name to origin.
func (*FrontendCommands) DeleteHostingPlatform ¶
func (self *FrontendCommands) DeleteHostingPlatform() error
DeleteHostingPlatform removes the hosting platform config entry.
func (*FrontendCommands) DeleteLastCommit ¶
func (self *FrontendCommands) DeleteLastCommit() error
DeleteLastCommit resets HEAD to the previous commit.
func (*FrontendCommands) DeleteLocalBranch ¶
func (self *FrontendCommands) DeleteLocalBranch(name gitdomain.LocalBranchName) error
DeleteLocalBranch removes the local branch with the given name.
func (*FrontendCommands) DeleteOriginHostname ¶
func (self *FrontendCommands) DeleteOriginHostname() error
DeleteOriginHostname removes the origin hostname override
func (*FrontendCommands) DeleteTrackingBranch ¶
func (self *FrontendCommands) DeleteTrackingBranch(name gitdomain.RemoteBranchName) error
DeleteTrackingBranch removes the tracking branch of the given local branch.
func (*FrontendCommands) DiffParent ¶
func (self *FrontendCommands) DiffParent(branch, parentBranch gitdomain.LocalBranchName) error
DiffParent displays the diff between the given branch and its given parent branch.
func (*FrontendCommands) DiscardOpenChanges ¶
func (self *FrontendCommands) DiscardOpenChanges() error
DiscardOpenChanges deletes all uncommitted changes.
func (*FrontendCommands) Fetch ¶
func (self *FrontendCommands) Fetch() error
Fetch retrieves the updates from the origin repo.
func (*FrontendCommands) FetchUpstream ¶
func (self *FrontendCommands) FetchUpstream(branch gitdomain.LocalBranchName) error
FetchUpstream fetches updates from the upstream remote.
func (*FrontendCommands) ForcePushBranchSafely ¶
func (self *FrontendCommands) ForcePushBranchSafely(noPushHook configdomain.NoPushHook) error
PushBranch pushes the branch with the given name to origin.
func (*FrontendCommands) MergeBranchNoEdit ¶
func (self *FrontendCommands) MergeBranchNoEdit(branch gitdomain.BranchName) error
MergeBranchNoEdit merges the given branch into the current branch, using the default commit message.
func (*FrontendCommands) NavigateToDir ¶
func (self *FrontendCommands) NavigateToDir(dir gitdomain.RepoRootDir) error
NavigateToDir changes into the root directory of the current repository.
func (*FrontendCommands) PopStash ¶
func (self *FrontendCommands) PopStash() error
PopStash restores stashed-away changes into the workspace.
func (*FrontendCommands) Pull ¶
func (self *FrontendCommands) Pull() error
Pull fetches updates from origin and updates the currently checked out branch.
func (*FrontendCommands) PushCurrentBranch ¶
func (self *FrontendCommands) PushCurrentBranch(noPushHook configdomain.NoPushHook) error
PushCurrentBranch pushes the current branch to its tracking branch.
func (*FrontendCommands) PushTags ¶
func (self *FrontendCommands) PushTags() error
PushTags pushes new the Git tags to origin.
func (*FrontendCommands) Rebase ¶
func (self *FrontendCommands) Rebase(target gitdomain.BranchName) error
Rebase initiates a Git rebase of the current branch against the given branch.
func (*FrontendCommands) RemoveCommitsInCurrentBranch ¶
func (self *FrontendCommands) RemoveCommitsInCurrentBranch(parent gitdomain.LocalBranchName) error
ResetCurrentBranchToSHA undoes all commits on the current branch all the way until the given SHA.
func (*FrontendCommands) RemoveGitAlias ¶
func (self *FrontendCommands) RemoveGitAlias(aliasableCommand configdomain.AliasableCommand) error
RemoveGitAlias removes the given Git alias.
func (*FrontendCommands) ResetCurrentBranchToSHA ¶
func (self *FrontendCommands) ResetCurrentBranchToSHA(sha gitdomain.SHA, hard bool) error
ResetCurrentBranchToSHA undoes all commits on the current branch all the way until the given SHA.
func (*FrontendCommands) ResetRemoteBranchToSHA ¶
func (self *FrontendCommands) ResetRemoteBranchToSHA(branch gitdomain.RemoteBranchName, sha gitdomain.SHA) error
ResetRemoteBranchToSHA sets the given remote branch to the given SHA.
func (*FrontendCommands) RevertCommit ¶
func (self *FrontendCommands) RevertCommit(sha gitdomain.SHA) error
RevertCommit reverts the commit with the given SHA.
func (*FrontendCommands) SetGitAlias ¶
func (self *FrontendCommands) SetGitAlias(aliasableCommand configdomain.AliasableCommand) error
SetGitAlias sets the given Git alias.
func (*FrontendCommands) SetGitHubToken ¶
func (self *FrontendCommands) SetGitHubToken(value configdomain.GitHubToken) error
SetGitHubToken sets the given API token for the GitHub API.
func (*FrontendCommands) SetGitLabToken ¶
func (self *FrontendCommands) SetGitLabToken(value configdomain.GitLabToken) error
SetGitLabToken sets the given API token for the GitHub API.
func (*FrontendCommands) SetGiteaToken ¶
func (self *FrontendCommands) SetGiteaToken(value configdomain.GiteaToken) error
SetGiteaToken sets the given API token for the Gitea API.
func (*FrontendCommands) SetHostingPlatform ¶
func (self *FrontendCommands) SetHostingPlatform(platform configdomain.HostingPlatform) error
SetHostingPlatform sets the given code hosting platform.
func (*FrontendCommands) SetOriginHostname ¶
func (self *FrontendCommands) SetOriginHostname(hostname configdomain.HostingOriginHostname) error
SetHostingPlatform sets the given code hosting platform.
func (*FrontendCommands) SquashMerge ¶
func (self *FrontendCommands) SquashMerge(branch gitdomain.LocalBranchName) error
SquashMerge squash-merges the given branch into the current branch.
func (*FrontendCommands) StageFiles ¶
func (self *FrontendCommands) StageFiles(names ...string) error
StageFiles adds the file with the given name to the Git index.
func (*FrontendCommands) StartCommit ¶
func (self *FrontendCommands) StartCommit() error
StartCommit starts a commit and stops at asking the user for the commit message.
func (*FrontendCommands) Stash ¶
func (self *FrontendCommands) Stash() error
Stash adds the current files to the Git stash.
func (*FrontendCommands) UndoLastCommit ¶
func (self *FrontendCommands) UndoLastCommit() error
type FrontendRunner ¶
type ProdRunner ¶
type ProdRunner struct { Backend BackendCommands CommandsCounter *gohacks.Counter Config *config.Config FinalMessages *stringslice.Collector Frontend FrontendCommands }
ProdRunner provides Git functionality for production code.
type SetCachedCurrentBranchFunc ¶
type SetCachedCurrentBranchFunc func(gitdomain.LocalBranchName)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package gitdomain defines basic concepts from the domain of Git: branches, remotes, commit SHAs, etc.
|
Package gitdomain defines basic concepts from the domain of Git: branches, remotes, commit SHAs, etc. |
Package giturl provides facilities to work with the special URL formats used in Git remotes.
|
Package giturl provides facilities to work with the special URL formats used in Git remotes. |