When pair programming or mob programming on git projects, there is a convention that allows us to document our co-authors in the commit message. However, adding the co-authorship information on every single commit is painful.
Configure gitpair to know your team members, say who you're pairing with and commit as normal. It then amends your commit to add your co-authors.
Each co-author will be added to the commit message, so that they are also credited in the github contributions view!
$ npm install -g gitpair
Add all your co-authors in a .gitpair/authors.json file higher up in directory tree or in your user's home folder:
[
{
"name": "Peter Yarrow",
"email": "peter@ifihadahamm.er",
"aliases": ["peter"]
},
{
"name": "Paul Stookey",
"email": "paul@tellitonthemonta.in",
"aliases": ["paul"]
},
{
"name": "Mary Travers",
"email": "mary@lemontr.ee",
"aliases": ["mary"]
}
]
$ npm install --save-dev husky
Then configure husky to run git pair amend
on every commit, add the following to your package.json
file:
"husky": {
"hooks": {
"post-commit": "git pair amend"
}
}
Now, your commits will be automatically patched with the co-authoring information!
Say you're doing some mob programming with Peter, Paul and Mary:
git pair with peter paul mary
Then commit your work
$ commit -am "Too much of nothing"
This will result in the following commit:
Author: Benoit d'Oncieu <bdoncieu@gmail.com>
Too much of nothing
Co-authored-by: Peter Yarrow <peter@ifihadahamm.er>
Co-authored-by: Paul Stookey <paul@tellitonthemonta.in>
Co-authored-by: Mary Travers <mary@lemontr.ee>
git pair info
git pair off
git pair on
git pair trailers
git pair amend
If like me, you don't like to install packages globally, follow these simple instructions.
npm install --save-dev gitpair
Then add the following alias to your profile script (e.g. ~/.bashrc or ~/.zshrc):
alias git-pair='$(npm bin)/git-pair'
And then you can run gitpair by just using git pair
.