
go-git-mob
A golang port of the nodejs git-mob tool,
go-git-mob assists with managing co-authors when mob programming.
README
·
CHANGELOG
.
CONTRIBUTING
Report Bug
·
Request Feature
Table of contents
About the project
go-git-mob helps manage git co-authors when collaborating in real-time.
Like the original nodejs git-mob plugin, this golang port tool differs from and complements mob.sh in two key ways:
- whereas
mob.sh detects co-authors from commit messages alone, git-mob and go-git-mob understand that not all co-authors have their hands on the keyboard each session.
- whereas
mob.sh squashes each feature branch into a single commit, git-mob and go-git-mob leave this decision up to you, complimenting your workflow by injecting conventional Co-authored-by: comments into each commit message through the use of a git prepare-commit-message hook.
As the original authors of the node git-mob tool wrote:
Documenting code collaboration
When we work together, we should document that. It’s more than just giving credit to others, it’s also informing everyone about who was responsible for introducing changes to a codebase. Keeping a clear record of your work has lasting value - ever stumbled on an old commit only to be left with unanswered questions? In addition to explaining in your commits why a change was introduced, it also helps to document who implemented the change in case there needs to be a follow up.
go-git-mob provides a single-file binary version of the node git-mob tool which installs globally and operates independent of any specific nodejs version in use for a given git repository.
Built with
Getting started
To get a local copy up and running follow these simple steps.
Installation
Install a binary release
Install using go install
With a working golang setup at version >= 1.18 you can use go install:
go install github.com/davidalpert/go-git-mob@latest
Post-install steps
As a single file executable go-git-mob ships with one git plugin:
git mob
which offers several sub-commands:
git mob coauthors suggest
git mob print
git mob solo
git mob version
For easier use and compatibility with git-mob, go-git-mob includes an install sub-command:
git mob install
which sets up the following top-level git plugins as aliases to the matching git mob sub-commands:
git mob-print
git mob-version
git solo
git suggest-coauthors
Uninstall
go-git-mob ships with an implode sub-command:
git mob implode
which cleans up and removes the top-level mob plugins and deletes itself.
Usage
- TODO; coming as the project nears v1.0
Utility commands
The git-mob binary also ships with several utility commands which you can explore using the --help flag:
$: git mob -h
A tool for managing git coauthors.
Usage:
git-mob [command]
Available Commands:
help Help about any command
version Show version information
Flags:
-h, --help help for git-mob
Use "git-mob [command] --help" for more information about a command.
Roadmap
See open issues and specifically the v1.0 - feature parity project board for a list of known issues and up-for-grabs tasks.
Contributing
See the CONTRIBUTING guide for local development setup and contribution guidelines.
License
Distributed under the GPU v3 License. See LICENSE for more information.
David Alpert - @davidalpert
Project Link: https://github.com/davidalpert/go-git-mob
Acknowledgements