Documentation
¶
Overview ¶
Git Town - a high-level CLI for Git
Git Town adds Git commands that make software development more efficient by keeping Git branches better in sync with each other. This reduces merge conflicts and the number of Git commands you need to run.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
browser
Package browser allows interacting with the default browser on the user's machine.
|
Package browser allows interacting with the default browser on the user's machine. |
|
cli
Package cli provides tooling to interact with the command-line environment that Git Town runs in.
|
Package cli provides tooling to interact with the command-line environment that Git Town runs in. |
|
cli/colors
Package colors provides definitions for ANSI colors to be used in terminal output.
|
Package colors provides definitions for ANSI colors to be used in terminal output. |
|
cli/dialog
Package dialog provides high-level screens through which the user can enter data into Git Town.
|
Package dialog provides high-level screens through which the user can enter data into Git Town. |
|
cli/dialog/components
Package components contains shared components to build full dialog screens out of.
|
Package components contains shared components to build full dialog screens out of. |
|
cli/dialog/components/list
Package list provides a generic list implementation to be used inside BubbleTea-based dialog components.
|
Package list provides a generic list implementation to be used inside BubbleTea-based dialog components. |
|
cli/flags
Package flags provides helper methods for working with Cobra flags in a way where Go's usage checker (which produces compilation errors for unused variables) enforces that the programmer didn't forget to define or read the flag.
|
Package flags provides helper methods for working with Cobra flags in a way where Go's usage checker (which produces compilation errors for unused variables) enforces that the programmer didn't forget to define or read the flag. |
|
cli/format
Package format formats data for printing to the CLI.
|
Package format formats data for printing to the CLI. |
|
cli/print
Package print outputs complex data structures to the CLI.
|
Package print outputs complex data structures to the CLI. |
|
cmd
Package cmd defines the Git Town commands.
|
Package cmd defines the Git Town commands. |
|
cmd/cmdhelpers
Package cmdhelpers provides utility functions for defining Cobra commands.
|
Package cmdhelpers provides utility functions for defining Cobra commands. |
|
cmd/config
Package config implements Git Town's "config" command.
|
Package config implements Git Town's "config" command. |
|
cmd/debug
Package debug implements Git Town's hidden "debug" command.
|
Package debug implements Git Town's hidden "debug" command. |
|
cmd/ship
Package ship implements Git Town's "ship" command.
|
Package ship implements Git Town's "ship" command. |
|
cmd/status
Package status implements Git Town's "status" subcommand.
|
Package status implements Git Town's "status" subcommand. |
|
cmd/sync
Package sync provides functionality around syncing Git branches.
|
Package sync provides functionality around syncing Git branches. |
|
config
Package config provides functionality to read and write the Git Town configuration.
|
Package config provides functionality to read and write the Git Town configuration. |
|
config/configdomain
Package configdomain defines domain concepts and data types around Git Town configuration.
|
Package configdomain defines domain concepts and data types around Git Town configuration. |
|
config/configfile
Package configfile provides functionality around storing Git Town configuration information in a dedicated configuration file.
|
Package configfile provides functionality around storing Git Town configuration information in a dedicated configuration file. |
|
config/envconfig
Package envconfig provides functionality to read configuration overrides from environment variables.
|
Package envconfig provides functionality to read configuration overrides from environment variables. |
|
config/gitconfig
Package gitconfig provides functionality around storing Git Town configuration information as Git metadata.
|
Package gitconfig provides functionality around storing Git Town configuration information as Git metadata. |
|
execute
Package execute provides reusable high-level functionality shared by all Git Town commands but doesn't have a place in other subsystems because it needs to use many subsystems together.
|
Package execute provides reusable high-level functionality shared by all Git Town commands but doesn't have a place in other subsystems because it needs to use many subsystems together. |
|
forge
Package forge provides support for interacting with forges.
|
Package forge provides support for interacting with forges. |
|
forge/bitbucketcloud
Package bitbucketcloud provides the forge connector for BitBucket.
|
Package bitbucketcloud provides the forge connector for BitBucket. |
|
forge/bitbucketdatacenter
Package bitbucketdatacenter provides the forge connector for BitBucket.
|
Package bitbucketdatacenter provides the forge connector for BitBucket. |
|
forge/codeberg
Package codeberg provides the forge connector for Codeberg.
|
Package codeberg provides the forge connector for Codeberg. |
|
forge/forgedomain
Package forgedomain provides the domain model for forges.
|
Package forgedomain provides the domain model for forges. |
|
forge/gitea
Package gitea provides the forge connector for Gitea.
|
Package gitea provides the forge connector for Gitea. |
|
forge/github
Package github provides the forge connector for GitHub.
|
Package github provides the forge connector for GitHub. |
|
forge/gitlab
Package gitlab provides the forge connector for GitLab.
|
Package gitlab provides the forge connector for GitLab. |
|
git
Package git provides access to Git.
|
Package git provides access to Git. |
|
git/gitdomain
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. |
|
git/giturl
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. |
|
gohacks
Package gohacks implements all the small things that are needed during programming but not present in Go or its standard library.
|
Package gohacks implements all the small things that are needed during programming but not present in Go or its standard library. |
|
gohacks/cache
Package cache provides infrastructure to cache things in memory.
|
Package cache provides infrastructure to cache things in memory. |
|
gohacks/mapstools
Package mapstools provides helper functions for working with Go maps.
|
Package mapstools provides helper functions for working with Go maps. |
|
gohacks/slice
Package slice provides generic functions to work with slices.
|
Package slice provides generic functions to work with slices. |
|
gohacks/stringslice
Package stringslice provides functionality around string slices.
|
Package stringslice provides functionality around string slices. |
|
messages
Package messages implements I18N for Git Town.
|
Package messages implements I18N for Git Town. |
|
regexes
Package regexes helps work with multiple regular expressions at the same time.
|
Package regexes helps work with multiple regular expressions at the same time. |
|
skip
Package skip provides Git Town's skip functionality.
|
Package skip provides Git Town's skip functionality. |
|
subshell
Package subshell provides facilities to execute CLI commands in subshells.
|
Package subshell provides facilities to execute CLI commands in subshells. |
|
test
Package test provides the infrastructure for the end-to-end tests.
|
Package test provides the infrastructure for the end-to-end tests. |
|
test/commands
Package commands provides test-specific Git commands.
|
Package commands provides test-specific Git commands. |
|
test/cucumber
Package cucumber provides support for the Cucumber-based tests.
|
Package cucumber provides support for the Cucumber-based tests. |
|
test/datatable
Package datatable supports comparing Gherkin tables in test code.
|
Package datatable supports comparing Gherkin tables in test code. |
|
test/envvars
Package envvars provides helper functions to work with lists of environment variables as provided by `os.Environ`.
|
Package envvars provides helper functions to work with lists of environment variables as provided by `os.Environ`. |
|
test/filesystem
Package filesystem provide filesystem-specific helpers for test code.
|
Package filesystem provide filesystem-specific helpers for test code. |
|
test/fixture
Package fixture helps create test fixtures.
|
Package fixture helps create test fixtures. |
|
test/handlebars
Package handlebars allows replacing placeholders in strings formatted in handlebar syntax with Git data.
|
Package handlebars allows replacing placeholders in strings formatted in handlebar syntax with Git data. |
|
test/helpers
Package helpers provides various utilities that help write ergonomic test code.
|
Package helpers provides various utilities that help write ergonomic test code. |
|
test/ostools
Package ostools provides OS (operating-system) specific support for tests.
|
Package ostools provides OS (operating-system) specific support for tests. |
|
test/output
Package output provides support for parsing the CLI output of the Git Town executable in tests.
|
Package output provides support for parsing the CLI output of the Git Town executable in tests. |
|
test/subshell
Package subshell provides support for running shell commands in unit and E2E tests.
|
Package subshell provides support for running shell commands in unit and E2E tests. |
|
test/testgit
Package testgit provides support for describing Git repositories in test code.
|
Package testgit provides support for describing Git repositories in test code. |
|
test/testruntime
Package testruntime provides Git runtime support for unit and E2E tests.
|
Package testruntime provides Git runtime support for unit and E2E tests. |
|
undo
Package undo provides Git Town's undo functionality.
|
Package undo provides Git Town's undo functionality. |
|
undo/undobranches
Package undobranches restores the Git branches to a known snapshot.
|
Package undobranches restores the Git branches to a known snapshot. |
|
undo/undoconfig
Package undoconfig undoes changes to the configuration settings stored as Git metadata.
|
Package undoconfig undoes changes to the configuration settings stored as Git metadata. |
|
undo/undodomain
Package undodomain provides the domain model for Git Town's undo functionality.
|
Package undodomain provides the domain model for Git Town's undo functionality. |
|
undo/undostash
Package undostash restores changes to the Git stash.
|
Package undostash restores changes to the Git stash. |
|
validate
Package validate provides functionality to validate the status of Git repositories.
|
Package validate provides functionality to validate the status of Git repositories. |
|
vm/interpreter/config
Package config contains lifecycle commands to store runstate for Git Town commands that only change configuration.
|
Package config contains lifecycle commands to store runstate for Git Town commands that only change configuration. |
|
vm/interpreter/full
Package interpreter implements the virtual machine for executing steps of Git Town commands.
|
Package interpreter implements the virtual machine for executing steps of Git Town commands. |
|
vm/interpreter/light
Package light provides a lightweight interpreter that ignores errors.
|
Package light provides a lightweight interpreter that ignores errors. |
|
vm/opcodes
Package opcodes defines the individual operations that the Git Town VM can execute.
|
Package opcodes defines the individual operations that the Git Town VM can execute. |
|
vm/optimizer
Package optimizer optimizes VM programs.
|
Package optimizer optimizes VM programs. |
|
vm/program
Package program provides facilities to represent and build collections of steps.
|
Package program provides facilities to represent and build collections of steps. |
|
vm/runstate
Package runstate represents the current execution status of a Git Town command.
|
Package runstate represents the current execution status of a Git Town command. |
|
vm/shared
Package shared provides infrastructure used by all VM packages.
|
Package shared provides infrastructure used by all VM packages. |
|
vm/statefile
Package statefile stores Git Town runstate on disk.
|
Package statefile stores Git Town runstate on disk. |
|
Package pkg provides exposes the visible parts of the Git Town codebase.
|
Package pkg provides exposes the visible parts of the Git Town codebase. |
|
asserts
Package asserts provides additional assertions used in tests.
|
Package asserts provides additional assertions used in tests. |
|
prelude
Package prelude is the "standard library" for strongly-typed Go codebases.
|
Package prelude is the "standard library" for strongly-typed Go codebases. |
|
set
Package set provides a Set implementation for Go.
|
Package set provides a Set implementation for Go. |
Click to show internal directories.
Click to hide internal directories.