Глава 2 Что такое Git

Git — это программа, выполняющая функции Системы Контроля Версий (VCS, Version Control System). Многие применяют простую систему контроля версий, вручную копируя файлы и добавляя дату в названия. Git автоматически отслеживает изменения во время редактирования файлов, позволяет фиксировать состояние файлов в версии, хранить и переключаться между ними. Вы сможете оценить, какие изменения внесли, а также посмотреть историю изменений — когда, кем и с какой целью они были сделаны.

Важная особенность Git в том, что пользователи могут работать и создавать версии независимо друг от друга на своих компьютерах. Каждый может работать над своей задачей, не мешая другим, даже если все редактируют один и тот же файл. Git поможет объединить изменения в одну общую версию.

Проект Git можно загрузить на сервер для надежного хранения и передачи файлов, совместной работы и публикации. Самым популярным сервисом для этого является GitHub. Он похож на облачные хранилища, такие как Google Drive или Dropbox, но с более продвинутым отслеживанием и объединением изменений, а также другими полезными функциями. Вместо GitHub можно использовать другой сервер, например корпоративный во внутренней сети организации или использовать Git оффлайн — только на своем компьютере.

Если это всё ещё не убедило вас начать использовать Git, вот несколько примеров, когда он будет полезен:

  • Возможно, вы оказывались в следующей ситуации. Вы вносите изменения в работающую программу или файл. Оцениваете результат и решаете отменить изменения. Вот только у вас нет копии оригинального файла, а вернуть прежнее состояние почему-то не получается — программа никак не работает или работает иначе. С Git это делается одной командой, а экспериментальную версию можно сохранить и вернуться к ней позже.

  • Если вам понадобилась помощь, вы можете одной командой загрузить сделанные изменения на GitHub. Другой участник увидит, что вы пытаетесь сделать, и может загрузить решение проблемы, а вы так же одной командой получите исправленную версию.

Благодаря последовательному внесению и отслеживанию изменений Git помогает организовать процесс анализа данных, обеспечивает воспроизводимость и упрощает совместную работу над проектом.

Существуют другие системы контроля версий, например Mercurial и Subversion и вероятно, в будущем появятся новые. Но благодаря простоте, эффективности и приобретенной популярности в основном используется Git.