https://github.com/brettbuddin/partner
🕺 Manage coauthors for Git commits.
https://github.com/brettbuddin/partner
co-authors collaboration git github gitlab pairing
Last synced: 12 months ago
JSON representation
🕺 Manage coauthors for Git commits.
- Host: GitHub
- URL: https://github.com/brettbuddin/partner
- Owner: brettbuddin
- License: mit
- Created: 2020-12-23T00:48:44.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-03-10T22:38:05.000Z (almost 4 years ago)
- Last Synced: 2025-01-01T23:30:15.723Z (about 1 year ago)
- Topics: co-authors, collaboration, git, github, gitlab, pairing
- Language: Go
- Homepage:
- Size: 48.8 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# partner
`partner` is a tool for managing coauthors for `git` commits. It allows you to
quickly annotate commits with appropriate `Co-Authored-By` trailers. Supports
adding users by GitHub and GitLab usernames.
## Usage
Add some colleagues to your list of coauthors:
```
# Add a few of my colleagues on GitHub
$ partner manifest gh-add GeorgeMac gavincabbage stuartcarnie
# Add a friend who doesn't use GitHub
$ partner manifest add --id=gemini --email=gemini@strongbeard.org --name="Gemini Strongbeard"
# List all coauthors
$ partner manifest ls
ID NAME EMAIL TYPE
gavincabbage Gavin Cabbage 5225414+gavincabbage@users.noreply.github.com github
gemini Gemini Strongbeard gemini@strongbeard.org manual
GeorgeMac George 1253326+GeorgeMac@users.noreply.github.com github
stuartcarnie Stuart Carnie 52852+stuartcarnie@users.noreply.github.com github
```
Activate a few for a pairing session:
```
# Activate George and Gavin
$ partner set GeorgeMac gavincabbage
# List the active coauthors
$ partner status
ID NAME EMAIL TYPE
gavincabbage Gavin Cabbage 5225414+gavincabbage@users.noreply.github.com github
GeorgeMac George 1253326+GeorgeMac@users.noreply.github.com github
```
`partner` has set a `commit.template` configuration for this repository with
appropriate `Co-Authored-By` trailers. You can view this template like this:
```
$ cat $(git config commit.template)
# Managed by partner
#
# partner-id: gavincabbage
Co-Authored-By: "Gavin Cabbage" <5225414+gavincabbage@users.noreply.github.com>
# partner-id: GeorgeMac
Co-Authored-By: "George" <1253326+GeorgeMac@users.noreply.github.com>
```
The template will be used as a starting point for any commit messages you author
with your party. **Remember:** Using `git commit --message` overrides the entire
commit message and will not use the template.
To clean up:
```
# Unset all coauthors
$ partner clear
# No one is active now
$ partner status
```
## Install
```
$ go get -u github.com/brettbuddin/partner
```
## Environment Variable Overrides
| Environment Variable | Default Value | Description |
| -------------------- | ------------- | ----------- |
| `PARTNER_MANIFEST` | `~/.config/partner/manifest.json` | Configuration file holding all `add`-ed coauthors. |