git-town

command module
v9.0.1 Latest Latest
Warning

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

Go to latest
Published: May 25, 2023 License: MIT Imports: 5 Imported by: 0

README

Git Town logo
end-to-end test status unit test status Go report card status Help Contribute to Open Source 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.
cache
Package cache provides infrastructure to cache things in memory.
Package cache provides infrastructure to cache things in memory.
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.
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.
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.
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.
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.
git
Package git runs Git commands in a controlled and typesafe way.
Package git runs Git commands in a controlled and typesafe way.
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.
hosting
Package hosting provides support for interacting with code hosting services.
Package hosting provides support for interacting with code hosting services.
runstate
Package runstate represents the current execution status of a Git Town command and allows to run or persist it to disk.
Package runstate represents the current execution status of a Git Town command and allows to run or persist it to disk.
steps
Package steps defines the individual CLI operations that Git Town can execute.
Package steps defines the individual CLI operations that Git Town can execute.
stringslice
Package stringslice provides helper functions for working with slices of strings.
Package stringslice provides helper functions for working with slices of strings.
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.
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

Jump to

Keyboard shortcuts

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