Базовые основы Git. Узнаем что такое Git и GitHub. Часть 1.

23.06.2018

Приветствую, дорогой читатель! Сегодня я расскажу о том, что такое Git и принципы его работы. А так же мы начнем рассматривать сервис GitHub, зарегистрируемся в нем и создадим свой первый репозиторий.

Что такое Git

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

Принцип работы Git.

Представьте, что у Вас есть папка с проектом, назовем её "Test". В этой папке расположен файл index.html. Вы начинаете писать в нем разметку, и в какой-то момент вдруг поняли, что совершили ошибку, а правильный вариант уже удалили. При помощи Git Вы без проблем сможете сделать откат до необходимой версии.

GitHub One Love <3
GitHub One Love <3

Как же работает Git?

1) Вы работаете со своим проектом на компьютере (пишите код, редактируете уже существующие файлы)

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

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

4) После того как вы запушили свой проект на сервер, нужно выполнить пул (pull). Командой pull Вы забираете с сервера актуальную версию проекта и если Ваши коллеги сделали какие-то изменения, то они окажутся в Вашем локальном проекте.

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

У Вас и Ваших коллег имеется на компьютере папка Test и у всех в этой папке лежит файл index.html. Вы редактируете файл, делаете коммиты и пушите. Ваши коллеги делают пуллы и получают файлы с сервера в котором видят все изменения, которые Вы совершили. Стоит отметить - когда Вы забираете файл с сервера, Вы можете посмотреть ВСЕ коммиты, которые были в нем оставлены (как Ваши коммиты так и коммиты Ваших коллег). Получается, что Вы можете смотреть всю историю проекта и каждого отдельного файла!

Пример работы Git
Пример работы Git

Конфликты и борьба с ними

Когда Вы пулите свой проект из репозитория (кстати, репозиторий принято называть origin) могут произойти конфликты:

  • Вы делали какие-либо изменения в коде, сделали коммит, но еще не сделали пуш
  • В это же время кто-то из Ваших коллег сделал изменения в тех же строчках кода и сделал пуш
  • Вы решили сделать пул, Git объединяет все изменения которые были совершены и замечает, что были изменены одинаковые строчки в коде. Это и есть конфликт (conflict).

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

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

Работаем с GitHub

GitHub — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки.

Источник: Википедия

Регистрация в GitHub

1) Перейдите на официальный сайт GitHub

2) Заполните необходимые поля для регистрации и нажмите кнопку "Sign up for GitHub"

Пример регистрации на GitHub
Пример регистрации на GitHub

3) После этого Вас перенаправит на страницу с выбором тарифного плана.

Всего их два:

  • Бесплатный. Ваши проекты сможет увидеть любой посетитель сайта
  • Платный. За 7 долларов в месяц у Вас появится возможность создавать закрытые репозитории. Их смогут смотреть пользователи которым Вы дали на это права доступа

Выбирайте свой вариант подписки. Если Вы регистрируетесь как предприятия, то проставьте галочку около поля "Help me set up an organization next". Так же если Вас интересует подписка на новости GitHub, то поставьте галочке около поля "Send me updates on GitHub news, offers, and events". После этого жмите кнопку "Continue"

Пример страницы с выбором подписки на GitHub
Пример страницы с выбором подписки на GitHub

4) Далее у Вас появится необязательный опрос, можете его пройти или же пропустить.

5) На почту Вам придет ссылка с подтверждением, перейдите по ней чтобы активировать свой аккаунт

Все, теперь у Вас есть свой аккаунт на GitHub.

Начинаем разбираться с интерфейсом на GitHub

Как только вы зайдете в свой аккаунт на GitHub, перед Вами появится стартовая страница.

Пример стартовой страницы на GitHub
Пример стартовой страницы на GitHub

1. Ваш профиль. Если Вы нажмете по вашему аватару, то появится меню из которого вы можете перейти:

  • На странице своего профиля
  • Посмотреть репозитории, которые вы добавили в закладки (на гитхабе обозначается как поставить звезду)
  • Перейти в gist (тут можно узнать что это такое, в рамках этого урока нам пока еще рано изучать)
  • Перейти в раздел поддержки
  • Зайти в настройки своего профиля
  • Выйти из аккаунта

2. Создать новый репозиторий. Нажав кнопку "Start a project" Вы попадете на страницу создания нового репозитория

3. Текущие репозитории. Здесь выводится список репозиториев, в которых Вы участвуете (если Вы сделали новый аккаунт, то такого списка не увидите). Отсюда так же можно создать новый репозиторий.

Создание нового репозитория

Пример создания репозитория на сайте GitHub
Пример создания репозитория на сайте GitHub

1. Вводите название репозитория. Задаете название своему репозиторию на английском языке.

2. Пишите описание репозитория (необязательно). Описываете проект, который будет находиться в созданном репозитории

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

4. Создаете файл README.md (необязательно). В нем обычно пишут полное описание проекта и инструкцию к нему (если должно что-то выполняться). Что означает .md? Это расширение текстового документа, написанного на языке разметке Markdown.

После того как Вы необходимые поля, жмите на кнопку "Create repository". Поздравляю, Вы создали свой первый репозиторий. А вот мой репозиторий (правда не первый).

Конец первой части

P.S.

Это был 6-ой день на пути к профессии фронтенд разработчика. На изучение и подготовку материала у меня ушло два дня. На самом деле можно было и быстрее, но личные жизненные обстоятельства отняли много времени. Изначально я планировал в рамках Git написать одну статью, но думаю что получится слишком много информации, а судя по другим статьям в Дзене здесь так не особо то и делают. Поэтому придется разбить изучение Git на несколько статей, надеюсь что уложусь в общей сумме в 2-3 статьи.

Если Вам понравилась статья, то подписывайтесь и ставьте палец вверх!
Спасибо за внимание, хорошего Вам вечера (да уже даже ночи) и отдохнуть в выходные :)