Thanks for contributing! Please read this document before you make a PR.
Any changes must support the following platforms:
- macOS
- Linux
- OpenBSD (You may need to browse their man page)
Your change must also be compatible with the dependency constraints that we specify in Installation. If you aren't sure if a feature is compatible, check the manual or release notes. For example, the Bash changelog is here.
If you aren't able to test your new command on a platform, make that clear in your PR; someone else may be able to test it on their system.
Let's say you wish to add a new command. Assuming your new command is named foo
:
- Write a bash script under
./bin
calledgit-foo
. The script should be started with#!/usr/bin/env bash
. - Read
./man/Readme.md
and write documentation forgit-foo
. - Don't forget to introduce it in
Commands.md
. - Update
./etc/git-extras-completion.zsh
. Just follow existing code. - (Optional) Update
./etc/bash_completion.sh
. - (Optional) Update
./etc/git-extras.fish
. - (Optional) Add a test under
./tests
. - Run
./check_integrity.sh foo
to check if all done. (You may also run./check_integrity.sh
to check all commands.)
You are welcome to open up an issue to discuss new commands or features before opening a pull request.
Please follow the suggestion in ./.github/PULL_REQUEST_TEMPLATE.md
.