Папка «финал_2_точно»
Почти каждый, кто писал код или длинный документ, видел такую папку: «проект», «проект_новый», «проект_финал», «проект_финал_2_точно». Через неделю никто не помнит, чем они отличаются, какая из них рабочая и что было сломано в той, которую удалили.
Система контроля версий решает ровно эту задачу — только аккуратно и автоматически. Она даёт четыре вещи:
- историю — каждое сохранённое состояние проекта, по порядку, с датой и автором;
- откат — вернуть файл или весь проект к любому прошлому состоянию;
- параллельную работу — несколько человек меняют один проект и не затирают друг друга;
- ответ на вопрос «зачем» — к каждому изменению приложено сообщение, почему его сделали.
Самая распространённая система контроля версий — Git. Ею пользуются почти все команды разработки, от двух человек до тысяч. Код открытых проектов, сайты, документация, конфигурации серверов — всё это обычно живёт в Git.
В этом курсе мы разберём Git так, чтобы его команды перестали быть заклинаниями. Команд немного, и за каждой стоит простая идея. Когда идея понятна, команду легко вспомнить, а главное — легко понять, что пошло не так.