Глиф Учебники

Git

Инструменты · 9 уроков · 18 справок · итоговый тест

Git — система контроля версий: история изменений, ветки и совместная работа над кодом. Курс с нуля: установка, коммиты, отмена, ветки, удалённые репозитории, конфликты.

Git (читается «гит») — система контроля версий: программа, которая запоминает историю изменений файлов проекта. С ней можно посмотреть, что, когда и кем было изменено, вернуть файл к любой прошлой версии, вести несколько вариантов работы одновременно и объединять правки нескольких человек. Git бесплатен, его исходный код открыт, он работает в Windows, Linux и macOS.

Где применяется

Git — стандартный инструмент программиста: в нём хранят код почти все проекты, от школьной лабораторной до операционных систем. Кроме кода, в Git удобно держать любые текстовые файлы: настройки серверов, документацию, сайты, конспекты.

Git часто путают с GitHub. Git — программа на вашем компьютере. GitHub, GitLab и похожие сервисы — сайты, где хранятся копии репозиториев (репозиторий — папка проекта вместе со всей историей её изменений): через них проектом делятся, работают над ним вместе и обсуждают правки. Git работает и без них — история хранится прямо в папке проекта.

Что нужно для начала

Знать язык программирования не нужно: в примерах курса — обычные текстовые файлы. Учётная запись на GitHub или GitLab понадобится только в уроке об удалённых репозиториях.

Как пройти курс

Уроки идут по порядку: что такое Git, установка, первый репозиторий, история и отмена изменений, ветки, работа с сервером, конфликты, файл .gitignore и работа в команде. Повторяйте команды в своей учебной папке — Git лучше всего запоминается руками. После каждого урока — вопросы для проверки, в конце — итоговый тест.

В справочнике — короткие ответы на частые вопросы: как отменить коммит (сохранённую версию файлов), удалить ветку, разобраться с ошибкой rejected или Permission denied (publickey).

Сообщения Git в курсе показаны на английском. Если Git у вас пишет по-русски, смысл сообщений тот же. Номера коммитов и даты у вас будут другими: они свои у каждого репозитория.

Курс с нуля

  1. 1.Что такое Git и зачем он нуженЧто такое система контроля версий, как Git хранит историю, что такое репозиторий, коммит, ветка и индекс и чем Git отличается от GitHub.
  2. 2.Установка и настройка GitКак установить Git в Windows, Linux и macOS, проверить версию и сделать первую настройку — имя, почта, редактор и имя основной ветки.
  3. 3.Первый репозиторий: init, status, add, commitКак создать репозиторий командой git init, добавить файлы в индекс, сделать первый коммит и посмотреть историю — по шагам, с выводом каждой команды.
  4. 4.История и отмена измененийКак смотреть историю и разницу между версиями (log, show, diff), отменять правки в файлах (restore), убирать коммиты (reset) и безопасно отменять отправленные (revert).
  5. 5.Ветки: branch, switch, mergeЧто такое ветка в Git, как создать её и переключиться, как слить ветку с основной (fast-forward и коммит слияния) и удалить ненужную.
  6. 6.Удалённые репозитории: clone, push, pull, fetchКак связать репозиторий с сервером вроде GitHub или GitLab, отправить коммиты (push), забрать чужие (pull, fetch), склонировать проект и что значат частые ошибки обмена.
  7. 7.Конфликты слияния и как их решатьПочему возникает конфликт слияния, как читать метки <<<<<<< ======= >>>>>>>, решить конфликт вручную или выбрать одну сторону, отменить слияние и реже попадать в конфликты.
  8. 8.Файл .gitignore: что не класть в репозиторийКак исключить из Git временные файлы, папки сборки, зависимости и секреты с помощью .gitignore: правила шаблонов, примеры, проверка и что делать с уже добавленными файлами.
  9. 9.Работа в команде: pull request и rebaseКак работают над одним проектом вместе: ветка на задачу, pull request и проверка кода, форк чужого проекта, обновление ветки через merge или rebase и когда rebase опасен.

Начать с первого урока

Итоговый тест — 18 вопросов по всему курсу, ответы проверяются сразу.

Справочник

Официальная документация