90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
Getting started with Git
|
|
========================
|
|
|
|
We are using Git version 2.9.0, but any recent version should be good.
|
|
It's recommended to learn the `git` command-line tool for full
|
|
cross-platform experience and a deeper understanding of Git itself.
|
|
|
|
Install
|
|
---------
|
|
|
|
#### Windows
|
|
|
|
Install [Git for Windows][].
|
|
|
|
During the installation process, choose these recommended settings:
|
|
|
|
* Use Git from the Windows Command Prompt
|
|
* Use OpenSSH
|
|
* Checkout Windows-style, commit Unix-style line endings
|
|
* Use Windows' default console window
|
|
* Enable file system caching
|
|
|
|
[Git for Windows]: https://git-scm.com/download/win
|
|
|
|
#### Linux
|
|
|
|
Install by using the package manager:
|
|
|
|
```sh
|
|
sudo apt-get install git
|
|
```
|
|
|
|
Interactive tutorials
|
|
----------------------
|
|
|
|
There are (too) many Git tutorials on the internet. Here we post
|
|
references to our favorites.
|
|
|
|
#### Hello World
|
|
|
|
If you're new to Git, learn the following commands: `checkout`, `branch`,
|
|
`pull`, `push`, `merge`.
|
|
|
|
Use GitHub's [Hello World][] to learn how to create a feature branch, commit
|
|
changes, and issue a pull request.
|
|
|
|
[Hello World]: https://guides.github.com/activities/hello-world/
|
|
|
|
#### Katacoda
|
|
|
|
Learn basic Git scenarios in the browser with interactive labs.
|
|
[Git lessons on katacoda](https://www.katacoda.com/courses/git/).
|
|
|
|
#### Githug
|
|
|
|
[Githug](https://github.com/Gazler/githug) is a great gamified way to
|
|
learn Git in couple hours. After finishing 50+ real-world scenarios
|
|
you will have a pretty good idea about what and when you can do with
|
|
Git.
|
|
|
|
|
|
Authentication
|
|
--------------
|
|
|
|
#### Windows
|
|
On Windows, the best way to use Git securely is [Git Credential Manager for Windows][manager].
|
|
It's included in the official Git installer for Windows.
|
|
|
|
#### Linux and OS X
|
|
|
|
If you do not have a preferred method of authentication, enable the storage
|
|
credential helper, which will cache your credentials in plaintext on your
|
|
system, so use a [token][].
|
|
|
|
```sh
|
|
git config --global credential.helper store
|
|
```
|
|
|
|
Alternatively, you can use [SSH key][].
|
|
In this case, you may want to use git-ssh even for HTTPS Git URLs.
|
|
It will help you to use submodules transparently.
|
|
|
|
```
|
|
git config --global url.git@github.com:.insteadOf https://github.com/
|
|
```
|
|
|
|
|
|
[SSH key]: https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#generating-a-new-ssh-key
|
|
[token]: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
|
|
[manager]: https://github.com/Microsoft/Git-Credential-Manager-for-Windows
|