---
# System prepended metadata

title: Git

---

# Git

> Git is a fast **distributed** [revision control system](https://en.wikipedia.org/wiki/Revision_Control_System).

Git is developed by Linus (creater of Linux) with the original intent of assisting the development of the Linux kernel.
Due to Git's performance and distributed nature, it took the world by storm, and Git is now synonymous to [version control](https://en.wikipedia.org/wiki/Version_control).

- [*Pro Git book*](https://git-scm.com/book/en/v2), Scott Chacon
- [*User manual*](https://git-scm.com/docs/user-manual)
- [*Git for Computer Scientists*](https://eagain.net/articles/git-for-computer-scientists/), Tommi Virtanen
- [*Git/Advanced*](https://en.wikibooks.org/wiki/Git/Advanced), Wikibooks
- [*Patterns for Managing Source Code Branches*](https://martinfowler.com/articles/branching-patterns.html), Martin Fowler

---
[TOC]

## CLI

```bash
sudo dnf install git-all # this installs gitweb
git config --global user.name # "John Doe"
git config --global user.email # "johndoe@example.com"
git config --global core.editor vim # or emacs, nano, etc.
git config --global init.defaultBranch main # adhering to GitHub's convention
git config --global pull.rebase "false" # for version >= 2.27
```