Как пользоваться Git: гайд для новичков

Контент-маркетолог
Стаж 13 лет

Git — самая популярная в мире система контроля версий (от англ. Version Control System, VCS). Неудивительно, что навык работы с Git стал обязательным для программистов. В этом пошаговом гайде для новичков вы узнаете, как эффективно использовать Git.

Что такое Git и что такое GitHub

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

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

Пошаговое руководство по Git

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

Шаг 1: Установка Git и создание учетной записи GitHub

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

После установки создайте бесплатную учетную запись GitHub. Для этого выполните следующие действия.

  1. Посетите официальную страницу создания учетной записи.
  2. Придумайте имя пользователя, введите адрес своей электронной почты и придумайте пароль.
  3. Подпишитесь на рассылку об обновлениях или откажитесь от нее, сняв флажок.
  4. Подтвердите, что не являетесь роботом.
  5. Нажмите Create account.
  6. Создать аккаунт на GitHub очень просто
    Создать аккаунт на GitHub очень просто
  7. GitHub отправит код подтверждения на указанную электронную почту. Скопируйте и вставьте его в соответствующее поле.
  8. При необходимости персонализируйте учетную запись или пропустите этот шаг.

Готово! Вы успешно создали учетную запись на GitHub.

Шаг 2: Создание локального репозитория Git

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

  1. Откройте терминал (консоль, Git Bash, командную строку) и перейдите в каталог, в котором на компьютере будет храниться проект. Например.
  2. cd ~/Desktop

    mkdir myproject

    cd myproject/

    В примере выше выполнен переход на рабочий стол, на котором создана папка myproject и выполнен переход в нее.

  3. Создайте репозиторий в выбранной папке, выполнив команду git init:

git init [имя репозитория]

Командная строка только выглядит страшно
Командная строка только выглядит страшно

Шаг 3: Создание нового репозитория на GitHub

GitHub позволяет отслеживать код, когда вы работаете с командой и требуется внести модификации. Чтобы создать новый репозиторий, выполните следующие действия:

  1. Войдите в систему и перейдите на домашнюю страницу GitHub.
  2. Найдите опцию New repository под знаком плюса рядом с фотографией профиля в правом верхнем углу.
  3. Команды под знаком плюса позволяют создавать репозитории, проекты и т. д.
    Команды под знаком плюса позволяют создавать репозитории, проекты и т. д.
  4. Введите имя для вашего репозитория, сделайте краткое описание и выберите параметры конфиденциальности.
  5. Краткое описание позволяет быстро понять, какой проект хранится в репозитории
    Краткое описание позволяет быстро понять, какой проект хранится в репозитории
  6. Нажмите кнопку Create repository.

GitHub позволяет добавить существующий репозиторий, который вы создали локально. Чтобы перенести его с компьютера на GitHub, используйте команды:

git remote add origin https://github.com/[ваш логин]/[название репозитория.git]

git push -u origin master

Перенос локального репозитория на GitHub
Перенос локального репозитория на GitHub

Шаг 4: Добавление файлов в репозиторий

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

git status

Командная строка покажет, какие файлы уже отслеживаются Git
Командная строка покажет, какие файлы уже отслеживаются Git

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

git add [название файла]

Настроить отслеживание можно для отдельных файлов
Настроить отслеживание можно для отдельных файлов

В примере выше Git поручили отслеживать изменения для файла test.txt. Повторный запуск команды git status показывает, что Git отслеживает указанный файл.

Шаг 5: Отправка файлов в Git

Работа с Git обычно подразумевает добавление всех файлов в индекс (промежуточная область, в которой хранятся изменения файлов на пути от рабочей директории до репозитория), чтобы подготовить их к коммиту (зафиксировать текущую версию). Если вы хотите удалить некоторые файлы из индекса перед коммитом, нужно удалить файлы из Git. Один из способов отменить отправку файлов в Git — выполнить команду git reset:

git reset [название коммита] -- [путь до файла]

Любое действие можно отменить
Любое действие можно отменить

Вы также можете использовать команду rm для удаления файлов в Git:

git rm --cached [имя файла]

Шаг 6: Коммит изменений

После добавления указанных файлов в промежуточную среду зафиксируйте изменения с помощью команды git commit. Затем Git сохранит текущую версию файла. Вы можете просмотреть сохраненную версию в любой момент.

git commit -m "краткое содержание коммита"

Добавьте к коммиту сообщение — объясните, какие новые функции добавились или какие изменения были внесены. Коммиты остаются в репозитории, и они редко удаляются, поэтому объяснение того, что вы изменили, помогает другим разработчикам на проекте и вам самим отслеживать работу.

Шаг 7: Отмена коммита

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

Используйте команды revert и reset, чтобы отменить изменения и вернуться к предыдущему коммиту:

git revert [хеш коммита]

Хэш — это код, который идентифицирует каждый коммит. Получить его можно с помощью команды:

git log

Git позволяет отменять коммиты
Git позволяет отменять коммиты

В примере выше сначала выполнялась команда git log для получения хэша коммита, а затем он был отменен.

Шаг 8: Создание новой ветки

Первая ветка в репозитории git называется master — она является основной в проекте. Создание новой ветки означает создание копии проекта в определенный момент времени. Ветки позволяют внедрять новые функции при разработке, не внося изменения сразу в основную. Распространенным методом создания новой ветки является выполнение команды:

git branch [название новой ветки]

Отдельные ветки позволяют не вносить непроверенные изменения в основную версию
Отдельные ветки позволяют не вносить непроверенные изменения в основную версию

Шаг 9: Переключение между ветками

Наличие нескольких веток в проекте Git дает разработчикам тестовую среду для отслеживания прогресса, не затрагивая рабочую версию продукта. Git позволяет легко переключаться между ветками с помощью команды checkout:

git checkout [название ветки]

Просто пропишите название нужной ветки, к которой хотите получить доступ.

Git позволяет легко переключаться между ветками
Git позволяет легко переключаться между ветками

Шаг 10: Переименование локальной или удаленной ветки

В Git вы можете переименовать локальную или удаленную ветку. Для переименования локальной используйте команду:

git branch -m новое название

Название локальной ветки изменено
Название локальной ветки изменено

Переименовать удаленную ветку напрямую невозможно. Нужно сначала удалить старое название, а затем отправить новое имя ветки в удаленный репозиторий.

Шаг 11: Удаление локальной или удаленной ветки

Ветку можно удалить после объединения с основной, или если она была повреждена. Удалять можно как локальные, так и удаленные ветки.

Удаление локальной ветки не влияет на ветку, хранящуюся в облаке. Чтобы удалить локальную ветку, выполните команду:

git branch -d [название ветки]

Для удаления облачной ветки используйте команду:

git push [название проекта] --delete [название ветки]

В примере удалена локальная ветка
В примере удалена локальная ветка

Шаг 12: Установка Upstream Branch (локальная ветка слежения)

Отправка через upstream в Git означает, что вы отправляете файлы обратно владельцу репозитория. Используя команду git set upstream, вы можете выбрать направление для текущей локальной ветки. Команда также позволяет изменить удаленную ветку по умолчанию.

Команда git set upstream позволяет выбрать направление, в котором отправятся файлы ветки
Команда git set upstream позволяет выбрать направление, в котором отправятся файлы ветки

Шаг 13: Удаление удаленного репозитория

С помощью git remote можно подключиться к репозиторию, размещенному на удаленном сервере — GitHub, BitBucket, GitLab или другом. Однако со временем удаленный репозиторий может переместиться на другой хост, или член команды может прекратить работу над проектом. В этом случае удаленное подключение больше не требуется. 

Есть несколько способов удалить его. Чаще всего используется команда:

git remote remove [удаленное название]

В следующем примере при запуске git remote -v отображаются доступные подключения origin и test-remote. После удаления test-remote и повторного запуска git remote -v единственным доступным подключением является origin.

Удалить удаленный репозиторий можно с помощью команды git remote remove
Удалить удаленный репозиторий можно с помощью команды git remote remove

Шаг 14: Объединение веток

Git merge позволяет объединить несколько изменений в рамках одного коммита. Можно объединить две ветки, собрав независимые версии в одну. После слияния двух веток Git обновляет текущую, отображая изменения, однако целевая ветка остается не затронутой. Чтобы удалить устаревшую ветку, нужно выполнить команду git branch -d.

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

  1. Выполните команду git status, чтобы убедиться, что выбрана основная ветка — master. Если это не так, выполните git checkout master, чтобы переключиться на главную ветку.
  2. Git checkout master поможет переключиться на основную ветку
    Git checkout master поможет переключиться на основную ветку
  3. Выполните команду git fetch, чтобы отследить последние удаленные коммиты, и git pull, чтобы убедиться, что в ветке есть последние обновления.
  4. Git pull проверяет наличие последних обновлений в ветке
    Git pull проверяет наличие последних обновлений в ветке
  5. Запустите git merge X, где X — это название ветви, которую вы хотите объединить с основной.
Объединение веток позволяет включать новый функционал в основной продукт
Объединение веток позволяет включать новый функционал в основной продукт

Шаг 15: Создание запроса на изменение кода

Запрос на изменение кода или pull request информирует владельца репозитория, что он должен просмотреть изменения, внесенные в его код. Затем владелец может одобрить запрос и объединить ветки. 

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

Для этого гайда был создан локальный файл readme. Для него будет выполнен pull request, чтобы подробно описать процесс. Нужно выполнить следующие действия.

  1. В Git Bash создайте пустой файл readme, выполнив команду touch readme.md.
  2. Создайте новую ветку, в которой файл будет модифицироваться, и переключитесь на нее с помощью команды:
  3. git checkout -b create-readme-file

  4. Откройте файл readme в текстовом редакторе и добавьте текст. В этом примере используется текстовый редактор Nano для изменения файла в окне командной строки. Выполните команду nano readme.md.
  5. В терминале есть собственный текстовый редактор
    В терминале есть собственный текстовый редактор
  6. После сохранения файла перенесите его в индекс с помощью git add readme.md.
  7. Создайте коммит с помощью команды:
  8. git commit -m "Добавлен файл readme"

  9. Отправьте изменения на GitHub:
  10. git push origin create-readme-file

  11. Зайдите на свою страницу на GitHub. Теперь в вашем репозитории есть опция Create pull request с именем ветки, которая была создана в командной строке. Нажмите кнопку Compare & pull request.
  12. Запросы на изменения репозитория рассматриваются на GitHub
    Запросы на изменения репозитория рассматриваются на GitHub
  13. GitHub сообщит, можете ли вы объединить ветки и применить изменения. При необходимости добавьте комментарий к вашему запросу и нажмите Create pull request.
Создание pull request в GitHub
Создание pull request в GitHub

Теперь владелец репозитория, в данном случае вы, можете оценить изменения и принять или отклонить запрос на слияние веток. Запросы расположены во вкладке Pull requests на GitHub. Когда вы объедините ветки, удалить устаревшую версию можно по кнопке Delete branch. Это поможет поддерживать чистоту репозитория.

Шаг 16: Синхронизация изменения на GitHub и локально

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

git pull origin master

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

Git автоматически предлагает обновить локальный репозиторий
Git автоматически предлагает обновить локальный репозиторий

Коротко о главном

Теперь вы знаете основные и часть продвинутых функции Git. Не бойтесь тестировать их, чтобы убедиться, что поняли, как они работают.

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

Оценить статью
3 ответов

Комментарии

Написать комментарий
Популярные статьи автора
Узнайте стоимость продвижения сейчас
Выберите удобный способ связи:
Выберите удобный способ связи:
Введите Ваш номер телефона:
Введите адрес Вашего сайта:
Введите Ваше имя:
Нажимая кнопку «Получить предложение» вы соглашаетесь с Политикой конфиденциальности.
Введите Ваш Email:
Введите адрес Вашего сайта:
Введите Ваше имя:
Нажимая кнопку «Получить предложение» вы соглашаетесь с Политикой конфиденциальности.
Оперативно отвечаем в рабочее время: с 10:00 до 19:00
Оперативно отвечаем в рабочее время: с 10:00 до 19:00
Вы уже проголосовали
Возьмем ТОП вместе?
Здравствуйте, меня зовут
,
я представляю компанию
.
Со мной можно связаться по телефону
Со мной можно связаться по тел.
,
или по email
ник в телеграм
Спасибо!
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Цена лидов в различных нишах
Тематика Стоимость лида (Москва/Россия)
Отдых 500
Мебель 350
Оборудование 500
Бансковские услуги 500
Безопасность 500
Организация мероприятий, концерты, праздники 500
Недвижимость 500
Строительство и отделка 500
Грузоперевозки 500
Доставка еды 350
Юридические услуги 500
Бухгалтерские услуги 500
Пластиковые окна 500
Детские товары 350
Автозапчасти 350
Образование 500
Возьмем ТОП вместе?
Здравствуйте, меня зовут
,
У меня есть сайт
.
Со мной можно связаться по телефону
Со мной можно связаться по тел.
,
или по email
ник в телеграм
Спасибо!
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Оставить заявку сейчас
Ваше имя*
Введите адрес Вашего сайта:*
Введите Ваш номер телефона:*
Введите Ваш e-mail:*
Введите Ваш ник в телеграм:
Выберите интересующую услугу *
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Подпишитесь на рассылку
Не пропустите самое интересное из мира SEO и Digital. Только актуальные и самые крутые статьи.
Заявка успешно отправлена!
Наши сотрудники уже приступили к анализу Вашего сайта. Наш менеджер свяжется с вами в течение дня, спасибо!