Git — это система контроля версий. Позволяет отслеживать изменения в файле от откатить файл к предыдущим значениям.
Git сохраняет только изменения, для хранения изменений используются хэш-суммы, которые записываются в БД Git.
Установка и первоначальная настройка Git
sudo apt install git
git config --global user.name "Alex"
git config --global user.email "aliesha1994@rambler.ru"
Далее необходимо создать собственный git-репозиторий и выполнить инициализацию
mkdir project
cd project
git init
Команда git init инициализирует репозиторий и создаёт папку .git в которой будет храниться структура репозитория. Далее, можно создать файл, добавить его в git внести изменения и сделать commit.
vim document
git status
После добавления файла, можно проверить статус командой git status

В данный момент, команда сообщает что найден один файл (document), который не будет отслеживаться. Далее, добавляем этот файл в git и проверяем статус.
git add document
git status

Добавить одновременно все изменённые файлы: git add -u
Теперь статус файла отслеживаемый, можно сделать commit (сохранение версии)
git commit -m "Add document file"
Commit файла завершен, если далее понадобится опять внести в него изменения, то необходимо снова добавить его в git и сделать commit
vim document
git add document
git commit -m "Edit document file"
Посмотреть историю изменений файла: git log

Если потребуется восстановить файл к одной из предыдущих версий, необходимо воспользоваться командой git revert <хэш-функция изменения>. Если в версии будет несколько файлов, то они вернутся в исходное состояние одновременно!

Проверка несохраненных изменений: git diff
В Git есть понятие веток, их используют если git-проект большой и с ним работает несколько человек. Если проект простой, то работа идёт только в главной ветке master.
Создание новой ветки (line) и переход в неё:
git branch line
git checkout line
Созданные файлы, к которым был применён commit будут отображаться только в данной ветке:

Работа с GitHub
Для начала работы с GitHub, необходимо создать учётную запись и сделать первый репозиторий, далее к нему можно будет подключаться из терминала.
GitHub поддерживает те же самые команды что и Git, но добавляются команды работы с удалённым репозиторием.
Скачиваем репозиторий себе в ОС, переходим в скаченную папку, заходим в требуемую ветку (если есть несколько веток) и проверяем содержимое:
git clone https://github.com/tv1n94/infrastructure.git
cd infrastructure
git checkout scripts
ls -l

Далее можно создать файл или изменить существующий, после чего необходимо добавить файл в git, сделать commit и отправить файлы обратно на сервер(потребуется логин и пароль от GitHub), после чего выйдет сообщение об успешной загрузки:
nano README.md
git add README.md
git commit -m "Edit README.md"
git push

Повторно забрать изменения с сервера можно с помощью команды git pull
