Начать учиться
  • Статьи по IT
1 764 просмотра

Гит это: что такое Git, репозиторий, коммиты и как начать работать

Всю неделю писали курсовую, а потом случайно удалили? Или переписали код так, что он перестал работать, а вернуться к рабочей версии — уже никак? Такие катастрофы выдержать под силу только стоику.

Но будь у вас Git, подобные проблемы остались бы в ночных кошмарах. О его важности, пользе, верных друзьях — репозиториях и коммитах — а, главное, первых шагах в работе рассказываем в этом материале.

Вы узнаете:

Что такое Git простыми словами и чем он полезен

Люди часто гуглят «git что такое», «git это», «git это что» — и получают в ответ такую путаницу, что становится только страшнее. Мы пойдём другим путём — покажем всё на простых аналогиях.

Но сначала ответим на главный вопрос, ради которого мы все здесь собрались :) Что такое гит в программировании? Это программа, которая запоминает историю изменений в ваших файлах. Каждый раз, когда вы что-то меняете в проекте, Git сохраняет этот момент — как фотографию состояния всех ваших файлов. И к такой «фотографии» вы можете вернуться в любой момент.

Представьте обычную папку на рабочем столе. Вы кидаете туда файлы, редактируете их, удаляете. Папка просто хранит то, что есть прямо сейчас. Стёрли абзац и сохранили? Всё, старого текста больше нет. Папка не помнит, что было вчера.

А теперь вообразите, что папка обрела память. Теперь она запоминает каждое ваше изменение: «в понедельник тут был один текст, во вторник ты добавил картинку, в среду переписал половину». И в любой момент вы можете сказать: «Верни мне версию, которая была во вторник» — и она вернёт. Вот это и есть Git: папка с фотографической суперпамятью, только «фотографирует» она код.

Чем раньше вы подружитесь с Git, тем меньше кода потеряете и тем увереннее будете себя чувствовать. Это как научиться пристёгиваться в машине: один раз привыкли — и делаете на автомате, а безопасность колоссальная.

Git — это только начало

А дальше вас ждут навыки работы с JavaScript, базы данных, вёрстка сайтов, до 18 проектов в портфолио, стажировка в PointPulse и средняя зарплата 139 000 ₽. Стоит только пройти наш курс «Веб-разработчик» ;)

После обучения сможете:

— писать код и документацию;

— создавать и тестировать интерфейсы и приложения;

— ускорять работу с помощью 10+ нейросетей.

Получить бессрочный доступ к материалам и бесплатным обновлениям

Для чего нужен Git в программировании

Теперь давайте разберёмся, зачем эта штука вообще нужна и почему о ней говорят на каждом углу.

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

Git система — самый популярный представитель таких инструментов. По статистике, им пользуется подавляющее большинство разработчиков в мире: в 2023 году доля Git среди систем контроля версий дошла до 93,87% (Stack Overflow Developer Survey).

Зачем нужен Git в реальной разработке

Откат к прошлой версии. Вы что-то напортачили, код перестал работать. Одна команда — и вы вернулись туда, где всё было хорошо. Как кнопка «отменить», только мощнее.

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

Работа в команде. Пятеро разработчиков пилят один проект. Git аккуратно собирает изменения всех и помогает не затирать чужую работу. Но если вдруг кто-то всё же правит одну строку, он покажет конфликт и даст выбрать нужный вариант. Без Git была бы полная каша из файлов вроде «финал_версия_2_итоговая_точно_финал.js».

Сохранение прогресса. Каждый рабочий этап вы фиксируете. Даже если что-то случится с компьютером или файлом — история сохранится (главное вовремя отправить её на GitHub, но об этом дальше).

Эксперименты без страха. Хотите попробовать рискованную идею? Делаете отдельную ветку, экспериментируете, а основную версию не трогаете. Не получилось — просто выбросили эксперимент.

Чек-лист: когда Git спасает

  • Случайно удалили важный файл — восстановите из истории.
  • Нужно откатить неудачные правки — вернётесь к рабочей версии.
  • Двое работают над одним проектом — Git объединит труды обоих.
  • Хотите попробовать новую фичу, но боитесь сломать рабочий код — сделаете отдельную ветку.
  • Надо понять, кто и когда изменил конкретную строку — Git всё покажет.

Для учёбы и первых самостоятельных проектов это золото. Преподаватели и работодатели любят, когда студент умеет пользоваться Git — это сразу +100 очков к резюме.

Что такое репозиторий Git и локальный репозиторий

Репозиторий — место, где Git хранит ваш проект вместе со всей историей его изменений. Проще говоря, это ваша «умная папка» со всеми сохранениями.

Обычная папка проекта — просто набор файлов. А локальный репозиторий — та же папка, но внутри неё живёт Git, который следит за всеми изменениями и хранит историю. Внешне вы почти не заметите разницы: те же файлы на месте. Но внутри появляется скрытая служебная папка <.git>, где Git и держит всю свою «память».

Слова «локальный репозиторий» и «git локально» означают, что всё это находится прямо на вашем компьютере. Вы можете сидеть в поезде без сети и спокойно работать с историей своего проекта. Git в целом по своей природе работает локально, а облако и совместная работа — это уже надстройка сверху.

Создание репозитория начинается с момента, когда вы говорите Git: «Эй, начни следить за этой папкой». Делается это одной командой (о ней подробно поговорим ниже). 

Запомнить: Git — инструмент, репозиторий — то, с чем инструмент работает.

Чем Git отличается от GitHub: расшифровываем аббревиатуры


Git

GitHub

Тип

Локальная программа, инструмент на компьютере

Онлайн-сервис, облачная площадка

Место хранения истории

Скрытая папка .git прямо в проекте

Серверы площадки

Основная задача

Фиксирует версии файлов и позволяет откатываться назад

Хранит копию проекта и даёт совместно работать над ним

Зависимость друг от друга

Работает полностью самостоятельно, интернет не нужен

Не может работать без Git

Владелец

Открытый инструмент, доступен любому желающему

Принадлежит Microsoft, нужна регистрация в сервисе


Git — программа, инструмент, который стоит на компьютере и работает локально.

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

И снова нам поможет аналогия. Представьте, что Git — текстовый офлайн-редактор (Word), GitHub — облачное хранилище («Google Диск») онлайн, куда вы кладёте документы, чтобы не потерять и поделиться с коллегами.

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

Ключевая разница git и github: Git прекрасно работает и без GitHub — прямо на вашем компьютере, в полном одиночестве. А GitHub без Git существовать не может, ведь это надстройка над ним.

Удалённый репозиторий — как раз копия вашего проекта, которая лежит на GitHub или другом сервисе. Между ними вы синхронизируете изменения. Именно так и работают команды: каждый берёт себе локальную копию, работает, а потом отправляет правки в общий удалённый репозиторий.

Коммиты: что это и как работают

Коммит — сохранённая точка в истории вашего проекта. Как фотография, которая запечатлела, как выглядели все ваши файлы прямо сейчас.

Сделали кусок работы — зафиксировали коммитом. Сделали ещё кусок — ещё коммит. И так выстраивается цепочка из точек, каждая из которых — момент истории.

Коммиты в программировании — это основы всей магии Git. Благодаря им вы можете:

  • вернуться к любой прошлой версии проекта;

  • сравнить, что изменилось между двумя коммитами;

  • понять, кто и когда внёс конкретную правку;

  • восстановить удалённый или сломанный код.

Как связаны файлы, коммиты и история

Представьте цепочку: коммит 1 → коммит 2 → коммит 3 → коммит 4. Каждый из них помнит, каким был проект в тот момент. Вся эта цепочка вместе и есть история проекта. 

Захотели — прыгнули на коммит 2 и посмотрели, как оно было. Для этого используйте команду <git switch> вместе с номером нужного коммита из вашей истории (например <git switch 1a2b3c4>). Как только вы её введёте, файлы в вашей рабочей папке мгновенно откатятся к старой версии.

Важный нюанс: после такой команды Git переведёт вас в особое состояние — дословно «отсоединённую голову» (detached HEAD). Представьте, что вы вышли из общего потока истории и стоите в стороне, разглядывая старый снимок в одиночку. Если в эту минуту сделать новый коммит, он не попадёт ни в одну из существующих веток, а при переключении на другую ветку окажется вне поля зрения.

Чтобы обойти эту ловушку, создайте отдельную ветку прямо из найденной точки <git switch -b временная-ветка 1a2b3c4>. Тогда новые правки останутся сохранёнными и доступными, а не повиснут без привязки к истории.

Что ещё важно знать? Например, что у каждого коммита есть автор, дата и сообщение — короткое пояснение, что именно вы сделали. Что-то вроде: «Добавил кнопку регистрации» или «Исправил ошибку с датой».

Пример коммита в учебном проекте

Допустим, вы делаете простой сайт-визитку. Вот как могла бы выглядеть ваша история:

  • Коммит 1: «Создал главную страницу» — вы написали базовый HTML.

  • Коммит 2: «Добавил стили» — подключили CSS, сайт стал красивым.

  • Коммит 3: «Добавил форму обратной связи» — появилась форма.

  • Коммит 4: «Исправил опечатку в заголовке» — внесли мелкую правку.

Если через неделю понимаете, что форма всё сломала, просто смотрите историю, возвращаетесь к коммиту 2, где всё работало, и спокойно продолжаете с этого места.

Как работает Git: сохранение истории изменений

Давайте разберём на уровне идеи, как Git думает. Это поможет вам не заучивать команды, а понимать, что происходит.

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

Три состояния: рабочая папка, индекс, коммит

  1. Рабочая папка — здесь вы редактируете файлы прямо сейчас. Это ваш рабочий стол.

  2. Индекс — как «предбанник». Сюда вы кладёте файлы, которые готовы сохранить в следующий коммит. Представьте, что вы собираете вещи в коробку перед переездом: индекс — это коробка, куда вы складываете то, что поедет.

  3. Коммит — момент, когда вы «запечатали коробку» и отправили её в историю. Всё, что было в индексе, стало новой сохранённой точкой.

Простая визуальная логика:

Эту цепочку вы будете повторять постоянно. Она станет для вас такой же привычной, как «проснулся → умылся → позавтракал → пошёл на работу».

Git всегда покажет вам, что именно изменилось: какие строки добавились, какие удалились, какие файлы новые. Это полезно и когда вы работаете один (сами разбираетесь в своих правках), и когда работаете в команде (видите, что сделали коллеги). Так вы перестаёте бояться потерять код и экспериментируете смелее.

Как установить Git и выполнить первичные настройки

Установка Git на Windows

Для Windows есть специальная сборка — Git for Windows. Это и есть тот самый пакет, который включает в себя сам Git плюс удобную консоль под названием Git Bash.

  1. Зайдите на официальный сайт git-scm.com.

  2. Скачайте установщик для Windows.

  3. Запустите. Установщик задаст кучу вопросов: можно смело жать «Далее» со всеми настройками по умолчанию — разработчики уже подобрали разумные варианты. Если что, позже донастроите под себя.

Установка Git на macOS

На Mac есть два пути:

  1. Открыть терминал и ввести команду <git --version>. Если Git не установлен, система сама предложит его поставить.

  2. Или использовать менеджер пакетов Homebrew командой <brew install git> (если у вас установлен Homebrew).

Установка Git на Linux

Тут всё максимально просто, ведь Git и Linux — родные братья. В большинстве дистрибутивов достаточно одной команды в терминале:

  • Для Ubuntu/Debian: <sudo apt install git>.

  • Для Fedora: <sudo dnf install git>.

Проверка установки

После того как вы решили установить Git, нужно убедиться, что всё встало правильно. Для этого откройте командную строку — это специальная программа, где вы вводите команды текстом, а не кликаете мышкой. На Windows это Git Bash, на macOS и Linux — терминал.

Введите команду <git --version>. Если в ответ вы увидели номер версии (например <git version 2.55.0> — это, кстати, самая свежая версия на данный момент) — поздравляем, всё работает, настройка прошла успешно!

Не забудьте также про первоначальные настройки Git, чтобы под вашими коммитами стояла ваша подпись, а не «Неизвестный автор».

Для этого введите две команды, подставив свои данные:

<git config --global user.name "Ваше Имя">

и

<git config --global user.email "your@email.com">

Первая скажет Git, как вас зовут. Вторая — какая у вас электронная почта. Слово --global означает «для всех проектов на этом компьютере», чтобы не настраивать их каждый раз заново.

Как создать репозиторий и инициализировать его

Отлично, Git установлен и настроен. Теперь создадим наш первый репозиторий:

  1. Создайте обычную папку для проекта, например <my-first-project>.

  2. Откройте эту папку в командной строке (командой <cd путь-к-папке>).

  3. Введите команду <git init>.

Последняя команда превратит обычную папку в репозиторий — создаст внутри ту самую скрытую папку .git и скажет: «С этого момента я слежу за изменениями». Всё, ваша папка теперь под контролем Git.

Теперь про то, как создать репозиторий GitHub. Это делается через удобный веб-интерфейс, без всяких команд:

  1. Зарегистрируйтесь на github.com (если ещё не).

  2. Нажмите зелёную кнопку «New» («Создать»).

  3. Придумайте название, выберите публичный или приватный доступ.

  4. Нажмите «Create repository» («Создать репозиторий»).

Готово, теперь у вас есть удалённый репозиторий в облаке.

Ну и заодно разберём, как скопировать репозиторий GitHub на компьютер. Для этого есть команда <git clone>:

<git clone https://github.com/username/repo.git&gt;

Она создаёт полную копию удалённого публичного репозитория на компьютере — со всеми файлами и историей. Это самый быстрый способ начать работать с чужим или своим облачным проектом. Скопировали ссылку на репозиорий, вставили в команду — и весь проект уже у вас.

Если же у вас приватный проект или нужна команда <git push>, с недавнего времени понадобится персональный токен доступа или SSH-ключ (раньше можно было ограничиться только паролем от GitHub).

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

Универсальным навыкам — широкие карьерные возможности

На курсе «Фулстек-разработчик на Python» вы научитесь работать с клиентской (фронтенд) и серверной (бэкенд) частью одновременно. Найти работу с такими умениями можно в разы быстрее, к тому же Академия будет активно помогать с трудоустройством (в ином случае вернёт деньги за обучение — это прописано в договоре).

Пройдёте 313 интерактивных уроков и 212 практических заданий, соберёте до 22 крупных проектов в портфолио, чтобы в перспективе зарабатывать 300 000 ₽ в месяц.

Записаться на программу

Базовые команды Git для старта

Что такое команда Git глобально? Это текстовая инструкция, которую вы вводите в консоли, начиная со слова git. Вот минимальный набор, который покроет 90% ваших потребностей на старте.

1. Проверить статус

<git status>

Показывает, что происходит в репозитории прямо сейчас: какие файлы вы изменили, какие добавили в индекс, а какие Git пока не отслеживает. Это ваша главная команда для ориентации. Запутались — спросите у <git status>, он всё расскажет.

2. Добавить файлы в индекс

<git add имя_файла>

или чтобы добавить сразу всё:

<git add .>

Помните нашу коробку? Эта команда как раз складывает файлы в неё — готовит их к коммиту. Точка в конце означает: «Добавь все изменённые файлы».

Чтобы не выгрузить лишнее — файлы с паролями, локальные настройки среды — добавьте короткий абзац с .gitignore. Так вы покажете инструменту список исключений, которые нужно обойти стороной при добавлении.

3. Сделать коммит

<git commit -m "Описание того, что сделали">

Эта команда «запечатывает» коробку — создаёт коммит. Часть -m означает «сообщение» («message»), а в кавычках вы пишете, что именно изменили. Например: <git commit -m "Добавил главную страницу">. Сообщение должно быть коротким и понятным.

4. Посмотреть историю

<git log>

Показывает список всех коммитов: кто, когда и с каким сообщением. Это ваша летопись проекта — вся история как на ладони.

Соберём всё вместе. 

Ваш рабочий процесс (он же workflow) будет выглядеть так:

  1. Поработали над файлами.

  2. <git status> — посмотрели, что изменилось.

  3. <git add .> — добавили изменения в индекс.

  4. <git commit -m "Что сделал"> — сохранили коммит.

  5. <git push -u origin main> — отправили локальные изменения в удалённый репозиторий на GitHub, чтобы сохранить прогресс в облаке.

  6. Повторили заново.

Запомнить: репозиторий всё хранит, коммиты фиксируют этапы, а отправка синхронизирует ваши коммиты с облаком.

Частые ошибки новичков и как их избежать

Ошибка 1: забыли настроить имя и почту.

Git начнёт ругаться или подпишет коммиты непонятно как. 

Решение: сделайте первоначальную настройку через <git config> (мы разбирали её выше). Один раз потратили время — и забыли.

Ошибка 2: не создали репозиторий. Пытаетесь делать коммиты в обычной папке, а Git отвечает, что это не репозиторий. 

Решение: сначала <git init>, а уже потом всё остальное. Нет репозитория — нет магии.

Ошибка 3: не добавили файлы в индекс. Сделали <git commit>, а он говорит «нечего коммитить». Значит, вы забыли <git add>.

Решение: вспомните цепочку — сначала добавить (add), потом сохранить (commit).

Ошибка 4: запутались между Git и GitHub. Новички думают, что это одно и то же, и не понимают, почему проект не появился в облаке после локального коммита. Но Git работает у вас на компьютере.

Решение: чтобы файлы попали на GitHub, их нужно туда отправить отдельно. Локальные коммиты сами по себе в облако не улетают.

Ошибка 5: забыли, где локальный, а где удалённый проект. Локальный — у вас на компьютере, вы с ним работаете напрямую. Удалённый — на GitHub, это копия в облаке. Между ними вы вручную синхронизируете изменения. Держите эту картинку в голове, и путаницы не будет.

Как не бояться первых команд

Git очень трудно сломать по-настоящему. Почти любое действие можно откатить, а испортить историю случайной командой практически невозможно. Если же решите сделать это намеренно, понадобится несколько конкретных команд, например <git clean -fd> безвозвратно удалит неотслеживаемые файлы, или <git reset --hard> сотрёт все несохранённые изменения без возможности восстановления.

Чек-лист для старта

  • Установили Git и проверили командой <git --version>.
  • Настроили имя и почту через <git config>.
  • Создали папку проекта.
  • Инициализировали репозиторий командой <git init>.
  • Добавили файлы: <git add .>.
  • Сделали первый коммит: <git commit -m "Первый коммит">.
  • Проверили историю: <git log>.

Подытожим

Git — ваша машина времени, которая никогда не даст потерять код и всегда поможет вернуться назад, если что-то пошло не так. Один раз освоив базу, вы получаете суперсилу на всю карьеру.

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

Так что открывайте командную строку, вводите первую команду — и вперёд. Ваш первый коммит уже ждёт публикации.



Подпишитесь на рассылку Эдюсон

Будем отправлять вам дайджест с лучшими статьями, бесплатными материалами, скидками на курсы и вакансиями от партнёров Эдюсон

Спасибо за подписку!
Александра Кочанова
Копирайтер

Всегда за неспешные прогулки и вдумчивое чтение (даже статей в digital).

Верит, что постоянное обучение — это не только приятно, но и финансово выгодно.

Подробнее об авторе