CLI tool to help you automatically add Co-authored-by trailers to git commits during pair/mob programming
You can attribute a git commit to more than one author by adding one or more Co-authored-by
trailers to the commit's message. Co-authored commits are visible on GitHub. For more information, see here.
This CLI tool will help you add them automatically and also help you store and manage co-authors for pair/mob programming sessions.
Co-authored-by
trailers to commitDownload and extract the appropriate binary depending on your OS from the latest GitHub release
Ensure the binary is in your PATH
variable e.g. you may place the file in C:\Windows
on Windows or /usr/local/bin
on Linux and macOS
Ensure the binary is set as executable (Linux and macOS)
$ cargo install git-mob-tool
Set up a global prepare-commit-msg
githook which appends the Co-authored-by
trailers to the commit message.
If a repository overrides core.hooksPath
git configuration variable (e.g when using husky), then you will additionally need to run git mob setup --local
for each such repository. This will set up a local (repository-specific) prepare-commit-msg
githook which invokes the global one.
If you prefer to set this up manually or encounter any issues with the automated setup process, you can follow steps outlined here.
Store your team members' details with keys
$ git mob team-member --add lm "Leo Messi" leo.messi@example.com $ git mob team-member --add em "Emi Martinez" emi.martinez@example.com $ git mob team-member --add sa "Sergio Aguero" sergio.aguero@example.com
To mob with some team member(s):
$ git mob --with ? Select active co-author(s): > [ ] Leo Messi <leo.messi@example.com> [ ] Emi Martinez <emi.martinez@example.com> [ ] Sergio Aguero <sergio.aguero@example.com> [↑↓ to move, space to select one, → to all, ← to none, type to filter ]
Alternatively, if you remember the team member keys, you may bypass the multi-select menu by running:
This will start a global mob session. Any git commit made afterwards will have Co-authored-by
trailers added to the commit message as shown below:
This is an example commit message
Co-authored-by: Leo Messi <leo.messi@example.com>
Co-authored-by: Emi Martinez <emi.martinez@example.com>
To add a non-team member to the mob session:
$ git mob --add "Diego Maradona" diego.maradona@example.com
To clear the mob session:
To view the co-authors in the mob session:
To print help information:
$ git mob help $ git mob help team-member
$ git clone https://github.com/Mubashwer/git-mob.git $ cd git-mob $ cargo build --release
Format code:
Run linting:
$ cargo clippy --all-targets -- -D warnings
We welcome contributions! Please see our Contributing Guide for details on:
git mob --help
, an error may occur because Git looks for man pages for subcommands. To avoid this error, use one of the following alternatives:
git mob help
git-mob --help
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4