Если и есть инструмент, который на 100% обязаны освоить все слушатели ИТ-курсов и начинающие разработчики еще в начале карьеры — то это Git. Книга «Изучаем Git: пошаговое руководство с наглядными примерами» (Learning Git. A Hands-On and Visual Guide to the Basics of Git) от издательства O'Reilly Media, в переводе от Alist (БХВ Петербург) — это руководство «с нуля» по самой популярной системе контроля версий. Изложены основы Git: установка, графический интерфейс и командная строка, локальные репозитории и коммиты, ветки и слияния.

***

Вот ссылка на страницу книги «Изучаем Git: пошаговое руководство с наглядными примерами» на сайте БХВ.

Напомним, на все книги по компьютерным технологиям от издательств «БХВ Петербург», «Alist» и «Фолиант» доступен промокод SSPSOFT на скидку 25% как подарок читателям Хабра от нашего блога. 

Кому он нужен, этот Git  

Предположим ситуацию, что секретарь или делопроизводитель в любой компании не умеет пользоваться Word (отечественный Мой Офис не в счет ? ), и тогда таких сотрудников сочтут профнепригодными. А если это разработчик или техпис, то умение пользоваться системами контроля версий, такими как Git, является не просто желательной, а обязательной компетенцией. Но поскольку с этим знанием никто не рождается и ЕГЭ по Git не сдают, то книга«Изучаем Git: пошаговое руководство с наглядными примерами» обязательна к прочтению, осмыслению и освоению для всех начинающих разработчиков. 

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

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

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

Как можно более раннее освоение Git позволяет разработчикам быстрее адаптироваться к командной работе и совместной разработке проектов. Большинство продуктовых и сервисных компаний и open-source проектов используют Git как стандартную систему контроля версий, и знание этого инструмента является must-have skill на техническом интервью при поиске работы или участии в open-source сообществе.

Дисклеймер от автора книги: чего вы не найдете в этом издании

Достаточно важно перед рассмотрением содержания глав последовать совету автора и отметить некоторые важные моменты для целевой аудитории книги. 

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

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

В чем хороша и плоха методика изучения Git, предложенная Анной Скуликари 

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

Начнем с полезной части методики

  1. Пошаговое введение в основы Git — это хорошо для изучения инструмента, начиная с самых базовых понятий. Читатель знакомится с тем, что такое Git, как работает командная строка, и как установить Git. Затем идет переход к созданию локальных репозиториев, коммитам (снимкам состояния), ветвлениям и слияниям. Такой пошаговый подход позволяет начинающим разработчикам освоить основные концепции и действия в Git, не перегружая себя сложными материалами.

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

  3. Присутствуют основные сценарии, которые охватывают частые случаи работы с Git, такие как работа с ветками, слияние, разрешение конфликтов, ребейз и работа с удаленными репозиториями.

Недостатки подхода автора (имхо)

Теперь про слабые стороны методики (про отсутствие описания продвинутых функций уже сказано выше):

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

  2. Недостаток контекста и рабочих процессов — это выражается в том, что отсутствуют главы, посвященные различным рабочим процессам, таким как Git Flow или GitHub Flow, которые часто используются в реальных проектах. Книга также дает мало рекомендаций по организации работы с Git в команде, что могло бы быть полезным дополнением для тех, кто хочет не только понять, как работает Git, но и как эффективно использовать его в команде.

В целом, положительных сторон у книги гораздо больше, чем недостатков — и поскольку любая книга является компромиссом между желанием автора подробнее осветить тему и числом страниц (а издатели не любят очень толстые книги, т.к. они хуже продаются), то книга «Изучаем Git: пошаговое руководство с наглядными примерами» пригодится практически любому разработчику или техническому писателю в начале карьеры.

Что интересного в главах

Эта главе — в помощь читателю, чтобы оценить книгу на предмет «покупать ее или нет». Чтобы вам не рассматривать оглавление и пытаться понять, о чем там речь, ниже будут аннотации ко всем 12 главам книги:

Глава 1: Git и командная строка

Эта глава знакомит читателя с основными понятиями Git и командной строки. Установка Git, работа с файловой системой через командную строку, настройка Git и подготовка текстового редактора. После прочтения, читатель получит базовые навыки работы с командной строкой и понимание того, как установить и настроить Git для дальнейшей работы.

Глава 2: Локальные репозитории

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

 Глава 3: Создание коммитов

Глава посвящена процессу создания коммитов — одного из ключевых аспектов работы с Git (это снимки состояния или контрольные точки на временной шкале проекта Git). Обсуждаются этапы создания коммита и способы просмотра истории коммитов. Узнаете, как сохранять изменения в проекте с помощью коммитов, что является основным способом отслеживания версий и прогресса в разработке.

Глава 4: Ветвления

Эта глава объясняет концепцию веток в Git, их назначение и процесс создания, переключения и работы с ними. Также вводится понятие HEAD. Освоив работу с ветками, сможете изолировать различные потоки разработки и экспериментировать с новыми идеями без риска повредить основной код проекта.

Глава 5: Слияние

Глава описывает процесс слияния веток в Git, включая различные типы слияний и использование fast-forward merge. Вы научитесь объединять ветки, интегрируя изменения из различных потоков разработки, что важно для командной работы и поддержания целостности проекта.

Глава 6: Хостинг-сервисы и аутентификация

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

Глава 7: Создание и отправка в удаленный репозиторий

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

Глава 8: Клонирование и получение изменений

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

Глава 9: Трехсторонние слияния

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

Глава 10: Конфликты при слиянии

Глава посвящена разрешению конфликтов при слиянии веток. Рассматриваются различные сценарии возникновения конфликтов и процесс их решения. Полезность главы в том, что вы получите определенные навыки разрешения конфликтов, что позволяет поддерживать целостность проекта.

Глава 11: Ребейз

Глава знакомит с понятием ребейза (одного из способов в Git, позволяющего объединить изменения двух веток) и его преимуществами. Описывается процесс подготовки к ребейзу и его выполнение. Техника ребейза помогает поддерживать чистоту истории коммитов и улучшать структуру проекта при интеграции изменений.

Глава 12. Запросы Pull Requests / Merge Requests
Эти запросы — важный инструмент для командной работы над проектами в Git. Глава начинается с обсуждения текущего состояния локальных и удаленных репозиториев и вводит понятие Pull Requests, объясняя, почему и как они используются. Описываются особенности работы с Pull Requests на различных хостинг-сервисах, такие как GitHub или GitLab, и дается понимание того, как Pull Requests интегрируются в основной код.

В целом, эта глава позволяет освоить работу с Pull Requests — ключевым механизмом, который используется для обсуждения и интеграции изменений в командной разработке. 

Заключение

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

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

Добавим каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции инженеров QA и DevOps, системного аналитика, аналитика данных, разработчиков на Java, JS, React и Python, 1С — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).

Успехов в изучении и практическом применении Git!

Комментарии (8)


  1. DikSoft
    23.09.2024 06:56

    Шикарно.Только печатная версия. (( Что так?


    1. vhlv
      23.09.2024 06:56
      +1

      Подобное было с книгой по node.js. Сказали, что цифру выложат месяца через три, чтобы сразу не спиратили


    1. MAXH0
      23.09.2024 06:56

      Мне кажется это от жадности. Жадность - лечится, но надо поискать... В итоге жадность приведет к убыткам.


      1. vhlv
        23.09.2024 06:56

        Да и искать особо не надо, всё на виду.


        1. MAXH0
          23.09.2024 06:56

          особо не надо... Просто много пользователей которые берут не ища альтернатив.


    1. Ulrih
      23.09.2024 06:56

      если немного потратить время то найти и скачать электронный вариант не проблема


  1. kompilainenn2
    23.09.2024 06:56
    +3

    https://git-scm.com/book/ru/v2 - до сих пор актуально и бесплатно


  1. logchamp
    23.09.2024 06:56

    Мне кажется или это реклама

    Да ну бред какой-то)