Files
upstream-zulip/docs/git/setup.md
upstream-mirror 64898b2c79
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
2026-09-15 15:05:30 +05:00

3.5 KiB

Set up Git

If you're already using Git, have a client you like, and a GitHub account, you can skip this section. Otherwise, read on!

Install and configure Git, join GitHub

If you're not already using Git, you might need to install and configure it.

If you are using Windows 10 without WSL 2, make sure you are running Git BASH as an administrator at all times.

You'll also need a GitHub account, which you can sign up for here.

We highly recommend you create an SSH key if you don't already have one and add it to your GitHub account. If you don't, you'll have to type your GitHub username and password every time you interact with GitHub, which is usually several times a day.

We also highly recommend the following:

  • Configure Git with your name and email and aliases for commands you'll use often. We recommend using your full name (not just your first name), since that's what we'll use to give credit to your work in places like the Zulip release notes.
  • Install the command auto-completion and/or git-prompt plugins available for Bash and Zsh.

If you are installing the Zulip development environment, now you are ready to continue with Step 1: Install prerequisites.

Get a graphical client

Even if you're comfortable using Git on the command line, having a graphical client can be useful for viewing your repository. This is especially true when doing complicated rebases and similar operations because you can check the state of your repository after each command to see what changed. If something goes wrong, this helps you figure out when and why.

If you don't already have one installed, here are some suggestions:

If you like working on the command line, but want better visualization and navigation of your Git repo, try Tig, a cross-platform ncurses-based text-mode interface to Git.

And, if none of the above are to your liking, try one of these.