01
Что такое Git?

Скринкаст по Git

Git – одна из самых популярных систем для хранения кода и не только.

Многие начинающие разработчики избегают его изучения, а зря. В итоге на решение проблем и непоняток с гит тратится гораздо больше времени, чем если просто один раз "раскурить" этот самый гит.

Стоит один раз разобраться, и работа с git станет комфортной, а проблемы и непонятки с состоянием репозитория уйдут в прошлое.

В этом скринкасте разобраны темы, покрывающие 90% необходимых ситуаций (а по некоторым областям даже больше). Но есть ряд тем, которые в него пока не вошли:

  • Удаленные репозитории, push/pull и т.п.
  • Git stash в деталях.
  • Внутреннее устройство Git.

Я их пока не записал, но их отсутствие не мешает понять остальное, а эти темы будут позже.

Введение
01
Что такое Git?
03:39
02
Установка Git под Linux и Mac
02:36
03
Установка Git под Windows
05:03
04
Windows: Git Bash, Powershell
06:07
Конфигурация
01
Основная конфигурация
08:36
02
Настройка редактора
03:20
03
Алиасы (псевдонимы для команд)
01:59
04
Проблема с переводами строк Windows/Linux
03:26
05
Настройка core.autocrlf для нормализации переводов строк
05:49
06
Атрибуты: .gitattributes, text, eol
08:40
07
Игнорирование: .gitignore
12:55
08
Подключение файлов в конфиг: include
02:33
Основы
01
Создание репозитория, первый коммит
05:23
02
Git и права на файлы
02:41
03
Git show, автор и коммиттер
03:09
04
Добавление файлов и директорий, git status
06:17
05
Хороший коммит
05:56
06
Зачем нужен индекс?
03:26
07
Коммиты без git add
06:14
08
Удаление и переименование файлов
08:17
Ветки
01
Введение
05:20
02
Создание и переключение
08:02
03
Команда checkout при незакоммиченных изменениях
08:04
04
Создание новой ветки из последних коммитов, передвижение веток
02:42
05
Состояние отделённой HEAD
03:56
06
Восстановление предыдущих версий файлов
04:14
07
Просмотр истории и старых версий, ~ и :/
05:05
08
Слияние перемоткой
04:00
09
Удаление веток
02:26
10
Лог ссылок: reflog
09:11
11
Сборка мусора
06:09
Теги
01
Теги, основные действия с тегами
04:03
02
Использование тегов для экспорта с describe, archive
01:38
Reset
01
Жесткий reset, отмена коммита
05:27
02
Мягкий reset, замена и объединение коммитов
05:58
03
Правка последнего коммита: commit --amend
03:26
04
Смешаный reset, отмена индексации
04:42
05
Жесткий reset с сохранением изменений: --keep
02:40
06
Особый reset для отмены слияний: --merge
02:31
07
Виды reset – таблица в документации
01:00
Очистка проекта от изменений
01
Очистка проекта от изменений
02:25
Просмотр
01
Сравнение коммитов, веток и не только: git diff
16:15
02
Сравнение по словам, драйвер diff
11:46
03
Сравнение разных форматов, кастомизация diff
09:34
04
Вывод истории: git log, форматирование коммитов
09:09
05
Диапазоны коммитов для git log и не только
05:08
06
Вывод git log коммитов, меняющих нужный файл
01:10
07
Поиск в истории, фильтры для git log
09:06
08
Кто написал эту строку? git blame
00:59
Слияние
01
Истинное слияние и разрешение конфликтов в git merge
14:37
02
Коммит слияния, дальнейшие слияния
11:44
03
Отмена слияния
03:23
04
Семантические конфликты и их разрешение
03:55
05
Слияние с сохранением веток, запрет перемотки --no-ff
03:13
06
Слияние без связи с источником: merge --squash
04:07
07
Слияние без конфликтов через драйвер union, свои драйверы
06:16
08
Стратегии слияния
16:05
Копирование коммитов
01
Копирование коммитов: cherry-pick
07:25
02
Просмотр эквивалентных коммитов: cherry, cherry-mark
04:22
Перемещение коммитов
01
Перебазирование веток: rebase
08:30
02
Rebase против merge: сравнение подходов
09:22
03
Тесты при rebase, rebase -x
02:44
04
Перенос части ветки, rebase --onto
02:49
05
Перебазирование слияний, rebase -p
03:09
06
Интерактивное перебазирование, rebase -i
11:55
07
Коммиты-заплатки: rebase autosquash
02:22
ReReRe
01
Авторазрешение повторных конфликтов
07:28
Обращение коммитов
01
Обратные коммиты, revert
02:50
02
Отмена слияния через revert
05:51
03
Повторное слияние с rebase
07:40
Даты в git
01
Передача даты в гит, форматы дат
06:57
02
Форматирование для вывода дат
04:21