git-town

command module
v10.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2023 License: MIT Imports: 6 Imported by: 0

README

Git Town logo
end-to-end test status unit test status Go report card status Netlify deploy status

Git Town reduces merge conflicts by keeping Git branches better in sync. Compatible with all major Git workflows including Git Flow, GitHub Flow, GitLab Flow, and trunk-based development. Check out this screencast for an introduction.

Typical development commands

  • git hack - create a new up-to-date feature branch off the main branch
  • git sync - update the current branch with all ongoing changes
  • git new-pull-request - create a new proposal
  • git ship - merge a completed feature branch and remove it

Advanced development commands

Nested feature branches

  • git append - insert a new branch as a child of the current branch
  • git prepend - insert a new branch between the current branch and its parent
  • git set-parent - updates a branch's parent

Setup/configuration

Installation

See the installation and configuration instructions.

Documentation

The Git Town website provides documentation for Git Town users. git town help [command] shows help on the CLI.

Contributing

Found a bug or have an idea for a new feature? Open an issue or send a pull request! Our developer documentation helps you get started.

Stargazers over time

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
src
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/dialog
Package dialog allows the user to enter configuration data via CLI dialogs and prompts.
Package dialog allows the user to enter configuration data via CLI dialogs and prompts.
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/io
Package io provides low-level access to operating system primitives in a way that works across different operating systems.
Package io provides low-level access to operating system primitives in a way that works across different operating systems.
cli/log
Package log provides a mechanism for operations that don't produce CLI output naturally to log their activity to the CLI anyways.
Package log provides a mechanism for operations that don't produce CLI output naturally to log their activity to the CLI anyways.
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.
config
Package config provides facilities to read and write the Git Town configuration.
Package config provides facilities to read and write the Git Town configuration.
domain
Package domain provides strong type support for modeling the domain of Git Town.
Package domain provides strong type support for modeling the domain of Git Town.
execute
Package execute provides infrastructure to run Git Town that is shared between all Git Town commands.
Package execute provides infrastructure to run Git Town that is shared between all Git Town commands.
git
Package git runs Git commands in a controlled and typesafe way.
Package git runs Git commands in a controlled and typesafe way.
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/slice
Package slice provides generic functions to work with slices.
Package slice provides generic functions to work with slices.
gohacks/stringslice
Package stringslice provides helper functions for working with slices of strings.
Package stringslice provides helper functions for working with slices of strings.
hosting
Package hosting provides support for interacting with code hosting services.
Package hosting provides support for interacting with code hosting services.
subshell
Package subshell provides facilities to execute CLI commands in subshells.
Package subshell provides facilities to execute CLI commands in subshells.
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
Package runvm implements the virtual machine for executing steps of Git Town commands.
Package runvm implements the virtual machine for executing steps of Git Town commands.
vm/opcode
Package opcode defines the individual operations that the Git Town VM can execute.
Package opcode defines the individual operations that the Git Town VM can execute.
vm/program
Package steps provides facilities to represent and build collections of steps.
Package steps 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/statefile
Package persistence stores Git Town runstate on disk.
Package persistence stores Git Town runstate on disk.
Package test provides the infrastructure for the end-to-end tests.
Package test provides the infrastructure for the end-to-end tests.
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`.
git
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL