Перейти к основному содержанию

Pro Git

Pro Git
Автор: Scott Chacon, Ben Straub
Язык: RU
Год: 2014

Эта книга Open Source, на протяжении многих лет участники присылают свои замечания об опечатках и другие доработки. Pro Git — второе издание (2014). Текущая версия 2.1.104-2-g74b0d66, 06.09.2022.

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

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

В Главе 1 мы охватим Системы Контроля Версий (VCS) и азы Git. Никаких технических штучек, только то, что, собственно, такое Git, почему он пришёл на землю уже полную систем контроля версий, что его отличает и почему так много людей им пользуются. Затем мы объясним как впервые скачать и настроить Git, если в вашей системе его ещё нет.

В Главе 2 мы перейдём к основам использования Git — как использовать Git в 80% случаев, с которыми вы столкнётесь. После прочтения этой главы вы сможете клонировать репозитории, смотреть изменения в истории проекта, изменять файлы и публиковать эти изменения. Если на этом моменте книга самопроизвольно воспламенится, вы уже достаточно оцените время, потраченное на знакомство с Git, чтобы сходить за ещё одной копией.

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

Глава 4 опишет Git на сервере. Эта глава для тех из вас, кто хочет настроить Git внутри компании или на собственном сервере для совместной работы. Также мы разберём различные настройки хостинга, если вы предпочитаете держать сервер у кого-нибудь другого.

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

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

Глава 7 про дополнительные Git команды. Здесь раскроются темы освоения пугающей команды 'reset', использования бинарного поиска для нахождения багов, правки истории, инспекции кода и многие другие. По прочтению этой главы вы уже станете настоящим мастером Git.

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

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

Глава 10 углубляется в мрачные и прекрасные глубины внутренностей Git. Теперь, когда вы знаете всё о Git и виртуозно с ним управляетесь, можно двигаться дальше и разобраться, как Git хранит свои объекты, что такое объектная модель, из чего состоят файлы пакетов, каковы серверные протоколы и многое другое. На протяжении всей книги мы будем давать отсылки к этой главе, на случай, если вам захочется углубиться в детали. Если же вам, как и нам, интереснее всего техническая реализация, то, возможно, вам захочется начать именно с десятой главы. Оставим это на ваше усмотрение.

В Приложении A мы рассмотрим примеры использования Git в различных окружениях, разберём варианты с различными средами разработки и интерфейсами, в которых вам может захотеться попробовать Git и в которых это вообще возможно. Загляните сюда, если вы заинтересованы в использовании Git в командной строке, Visual Studio или Eclipse.

В Приложении B мы изучим скрипты и расширения для Git с помощью libgit2 и JGit. Если вы заинтересованы в написании сложных и быстрых инструментов и нуждаетесь в низкоуровневом доступе к Git, вы найдёте здесь необходимую информацию.

Наконец, в Приложении C мы заново пройдёмся через все основные команды Git и вспомним, где и для чего в книге мы их применяли. Если вы хотите узнать, где в книге используется конкретная Git команда, можете посмотреть здесь.

Начнём же.

Предисловие от Скотта Чакона

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

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

Сообщество свободного программного обеспечения тоже испытало взрывной рост. Когда я лет пять назад впервые сел писать книгу (первая версия потребовала времени), я как раз начал работать в крохотной компании, разрабатывающей сайт для Git хостинга под названием GitHub. На момент публикации у сайта было лишь несколько тысяч пользователей и четверо разработчиков. Когда же я пишу это предисловие, GitHub объявляет о десяти миллионах размещенных проектов, около пяти миллионах аккаунтах разработчиков и более 230 сотрудниках. Его можно любить или ненавидеть, в любом случае GitHub сильнейшим образом изменил сообщество свободного программного обеспечения, что было едва мыслимо, когда я только сел писать первое издание.

Небольшую часть исходной версии Pro Git я посвятил GitHub в качестве примера хостинга, с которым мне никогда не было особо удобно работать. Мне не сильно нравилось писать то, что, по-моему, было ресурсом сообщества, а также упоминать в нем о моей компании. Меня по-прежнему волнует это противоречие, но важность GitHub в Git сообществе бесспорна. Вместо некоего примера Git хостинга, я решил посвятить этот раздел книги детальному описанию сути GitHub и его эффективному использованию. Если вы собираетесь узнать, как пользоваться Git, то умение пользоваться GitHub даст вам возможность поучаствовать в огромном сообществе, ценном вне зависимости от выбранного вами Git хостинга. Другим изменением с момента первой публикации стала разработка и развитие HTTP протокола для сетевых Git транзакций. Из соображений упрощения, большинство примеров из книги были переделаны из SSH на HTTP.

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

Я надеюсь, вам понравится это новое издание Pro Git.

Пролог от Бена Страуба

Я подсел на Git после первого издания этой книги. Это изменило моё представление о стиле создания программного обеспечения, которое было более естественным, чем всё, что я видел до этого. К тому моменту я уже несколько лет был разработчиком, но это позволило мне пойти по другому, гораздо более интересному, пути.

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

Работать над этой книгой было большим удовольствием и честью для меня. Надеюсь, она поможет вам так же как и мне.

Лицензия

Это произведение распространяется по свободной лицензии Creative Commons AttributionNonCommercial-ShareAlike 3.0.

Примечания

У нас книга выходила в 2015 году под названием "Git для профессионального программиста".

git

Ссылки

Библиотека системного администратора

Скачать

Теги

 

Похожие материалы

Программирование: введение в профессию. Том 2: низкоуровневое программирование

Андрей Викторович Столяров
Во второй том книги "Программирование: введение в профессию" вошли её третья и четвёртая части.

Теги

Программирование: введение в профессию. Том 1: азы программирования

Андрей Викторович Столяров
Первый том серии "Программирование: введение в профессию" включает две основные части.

Теги