Основы Git: контроль версий для самых маленьких

Про основы Git было сказано немало. Здесь же собрана информация, обязательная к изучению тем, кто знакомится с этим инструментом с нуля.

Что такое контроль версий?

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

Возьмем, к примеру, Facebook. Над ним одновременно работают тысячи разработчиков, но никто из них не переписывает код друг друга. Контроль версий гарантирует, что софт всегда будет иметь одну рабочую, или "master" версию. Было бы небезопасно, если бы все разработчики имели возможность редактировать основной исходный код.

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

Пока ничего сложного, правда? ;) Идем дальше.

Что такое Git?

Git – это система управления версиями с открытым исходным кодом, созданная Линусом Торвальдсом в 2005 году.

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

Почему все используют GitHub?

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

GitHub имеет user-friendly интерфейс, поэтому даже начинающие разработчики смогут с ним работать. Можно использовать "чистый" Git без GitHub, но такой подход требует больше знаний и опыта работы с командной строкой.

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

Смотрите, как использовать GitHub

Чтобы дать вам общее представление о том, как выглядит интерфейс GitHub, вот исходный код небольшого проекта:

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

Каждый коммит создает слепок репозитория со своим порядковым номером. Если в проекте было что-то изменено, Git обязательно сообщит об этом и предложит некоторые действия.

Если вы удалите данные из рабочей копии, информация о ней сохранится в папке .git – это ключевая особенность, позволяющая откатиться по истории, сделать откат изменений и т. д.

Когда вы внесли изменения, нужно отправить код обратно в ветку с помощью pull request.

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

Основы Git: забегая наперед

Файлы Git могут быть в трех состояниях: staged, modified и untracked.

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

Как начать работу с GitHub?

Чтобы начать работу с GitHub:

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

Оригинал

Расскажите, что вам помогло освоить Git на первых этапах?

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

Библиотека программиста
18 октября 2017

Шпаргалка по Git, в которой представлены основные команды

Git сегодня - это очень популярная система контроля версий. Поэтому шпаргал...
admin
21 июня 2017

Про Git, Github и Gitflow простыми словами

Не самое исчерпывающее, но точно вполне доходчивое руководство по Git, Gith...
admin
23 февраля 2017

Git за полчаса: руководство для начинающих

В последние годы популярность git демонстрирует взрывной рост. Эта система ...