2017-11-23 20:21:57 +01:00
|
|
|
# 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][gitbook-install]
|
|
|
|
and [configure][gitbook-setup] it.
|
|
|
|
|
2022-08-18 22:58:47 +02:00
|
|
|
**If you are using Windows 10 without [WSL
|
|
|
|
2](https://docs.microsoft.com/en-us/windows/wsl/wsl2-about), make sure you
|
|
|
|
[are running Git BASH as an administrator][git-bash-admin] at all times.**
|
2017-11-23 20:21:57 +01:00
|
|
|
|
|
|
|
You'll also need a GitHub account, which you can sign up for
|
|
|
|
[here][github-join].
|
|
|
|
|
2020-10-23 02:43:28 +02:00
|
|
|
We highly recommend you create an SSH key if you don't already have
|
2021-08-20 21:53:28 +02:00
|
|
|
one and [add it to your GitHub account][github-help-add-ssh-key]. If
|
2017-11-23 20:21:57 +01:00
|
|
|
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][gitbook-config] with your name and email and
|
2021-08-20 21:53:28 +02:00
|
|
|
[aliases][gitbook-aliases] for commands you'll use often. We
|
2017-11-23 20:21:57 +01:00
|
|
|
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][gitbook-other-envs-bash] and [Zsh][gitbook-other-envs-zsh].
|
|
|
|
|
2022-08-18 22:58:47 +02:00
|
|
|
If you are installing the Zulip development environment, now you are ready to
|
2022-09-10 02:31:23 +02:00
|
|
|
continue with [Step 1: Install prerequisites](../development/setup-recommended.md#step-1-install-prerequisites).
|
2022-08-18 22:58:47 +02:00
|
|
|
|
2017-11-23 20:21:57 +01:00
|
|
|
## Get a graphical client
|
|
|
|
|
2022-02-28 22:15:06 +01:00
|
|
|
Even if you're comfortable using Git on the command line, having a graphical
|
2019-06-16 21:39:21 +02:00
|
|
|
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.
|
2017-11-23 20:21:57 +01:00
|
|
|
|
|
|
|
If you don't already have one installed, here are some suggestions:
|
|
|
|
|
2020-01-07 03:09:46 +01:00
|
|
|
- macOS: [GitX][gitgui-gitx] (previously [GitX-dev][gitgui-gitxdev])
|
2017-11-23 20:21:57 +01:00
|
|
|
- Ubuntu/Linux: [git-cola][gitgui-gitcola], [gitg][gitgui-gitg], [gitk][gitgui-gitk]
|
|
|
|
- Windows: [SourceTree][gitgui-sourcetree]
|
|
|
|
|
|
|
|
If you like working on the command line, but want better visualization and
|
2020-10-23 02:43:28 +02:00
|
|
|
navigation of your Git repo, try [Tig][tig], a cross-platform ncurses-based
|
2017-11-23 20:21:57 +01:00
|
|
|
text-mode interface to Git.
|
|
|
|
|
|
|
|
And, if none of the above are to your liking, try [one of these][gitbook-guis].
|
|
|
|
|
2022-08-18 22:58:47 +02:00
|
|
|
[git-bash-admin]: ../development/setup-advanced.md#running-git-bash-as-an-administrator
|
2017-11-23 20:21:57 +01:00
|
|
|
[gitbook-aliases]: https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases
|
|
|
|
[gitbook-config]: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
|
|
|
|
[gitbook-guis]: https://git-scm.com/downloads/guis
|
|
|
|
[gitbook-install]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
|
|
|
|
[github-join]: https://github.com/join
|
|
|
|
[gitbook-setup]: https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
|
|
|
|
[gitbook-other-envs-bash]: https://git-scm.com/book/en/v2/Git-in-Other-Environments-Git-in-Bash
|
|
|
|
[gitbook-other-envs-zsh]: https://git-scm.com/book/en/v2/Git-in-Other-Environments-Git-in-Zsh
|
2020-03-27 01:32:21 +01:00
|
|
|
[gitgui-gitcola]: https://git-cola.github.io/
|
2017-11-23 20:21:57 +01:00
|
|
|
[gitgui-gitg]: https://wiki.gnome.org/Apps/Gitg
|
|
|
|
[gitgui-gitk]: https://git-scm.com/docs/gitk
|
2020-01-07 03:09:46 +01:00
|
|
|
[gitgui-gitx]: https://github.com/gitx/gitx/
|
2017-11-23 20:21:57 +01:00
|
|
|
[gitgui-gitxdev]: https://rowanj.github.io/gitx/
|
|
|
|
[gitgui-sourcetree]: https://www.sourcetreeapp.com/
|
2019-02-26 02:49:09 +01:00
|
|
|
[github-help-add-ssh-key]: https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account
|
2021-11-30 21:17:21 +01:00
|
|
|
[tig]: https://jonas.github.io/tig/
|