Представьте папки «диплом», «диплом_финал», «диплом_финал_2», «диплом_точно_последний». Знакомо? Так выглядит ручной «контроль версий» — неудобный, ненадёжный и быстро превращающийся в хаос. Система контроля версий (Version Control System, VCS) решает эту проблему: она хранит один проект и автоматически запоминает все его состояния во времени, позволяя вернуться к любому из них.
Git — самая популярная распределённая система контроля версий. «Распределённая» означает, что у каждого участника на компьютере лежит полная копия всей истории проекта. Работать можно без интернета, а потом синхронизироваться с коллегами.
Что это даёт лично вам: • видно, кто, когда и что именно изменил; • любую ошибку можно откатить к рабочему состоянию; • несколько человек меняют один проект, не затирая работу друг друга; • код хранится не только на вашем ноутбуке, но и на сервере.
Важно различать два понятия. Git — это программа на вашем компьютере. GitHub (а также GitLab, Bitbucket) — это онлайн-сервис, где репозитории хранятся и где удобно работать командой. Git может работать и без GitHub, но вместе они особенно полезны.