Quick start: how Zulip uses Git and GitHub

This quick start provides a brief overview of how Zulip uses Git and GitHub.

Those who are familiar with Git and GitHub should be able to start contributing with these details in mind:

We use this strategy in order to avoid the extra commits that appear when another branch is merged, that clutter the commit history (it's popular with other large projects such as Django). This makes Zulip's commit history more readable, but a side effect is that many pull requests we merge will be reported by GitHub's UI as closed instead of merged, since GitHub has poor support for rebase-oriented workflows.

Finally, install the Zulip developer environment, and then configure continuous integration for your fork.


The following sections will help you be awesome with Zulip and Git/GitHub in a rebased-based workflow. Read through it if you're new to Git, to a rebase-based Git workflow, or if you'd like a Git refresher.