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

☝ В некоторых командах мы будем писать URL-адрес удалённого репозитория и название проекта в квадратных скобках, вот так — [ссылка на удалённый репозиторий]. Мы делаем это только для наглядности. Вам квадратные скобки ставить не нужно.

Первоначальная настройка Git

Работа с любой программой всегда начинается с её настройки. Git можно настроить один раз и менять что-то только по мере необходимости.

Указать имя пользователя — git config --global user.name "Ivan Ivanov". Задаёт имя пользователя, от которого будут идти коммиты. Вместо Ivan Ivanov нужно написать свои данные на латинице. Если имя состоит из одного слова, кавычки можно не ставить.

Указать электронную почту — git config --global user.email "mail@gmail.com". Вместо mail@gmail.com нужно указать вашу почту. Обратите внимание, она должна совпадать с той, на которую зарегистрирован аккаунт в Гитхабе.

Посмотреть настройки — git config --list. Параметры можно посмотреть и в конфигурационном файле, но этот способ быстрее.

Работа с репозиторием

Создать репозиторий — git init. Инициализирует пустой репозиторий.

Склонировать удалённый репозиторий — git clone [ссылка на удалённый репозиторий]. Проект появится в директории, где вы находились в момент клонирования.

Связать удалённый и локальный репозитории — git remote add origin [ссылка на удалённый репозиторий].

Работа с изменениями

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

Подтянуть изменения — git pull. Подтягивает в локальный репозиторий последнюю версию проекта. Будьте внимательны, вызов этой команды сотрёт все незафиксированные изменения. Иногда после ввода этой команды появляется конфликт.

Как решать проблемы в Git

Посмотреть статус файлов — git status. Вы увидите, какие файлы изменили, удалили или добавили в проект. При этом статус «Закоммичен» не отобразится.

Добавить файлы в индекс — git add [название файла]. После ввода этой команды вы можете сделать коммит.

Есть похожие команды, например, git add . индексирует сразу все изменённые файлы и папки в директории, где вы находитесь. Обратите внимание, между точкой и словом add нужно ставить пробел. Команда git add :/ добавляет в индекс все файлы независимо от того, в какой директории вы находитесь.

Сделать коммит — git commit -m "Комментарий к коммиту" — фиксирует изменения. До выполнения этой команды локальные изменения никуда не запишутся.

Нужно правильно разбивать изменения и давать полные комментарии к коммитам. Подробнее об этом читайте в статье «Как оформлять коммиты».

Посмотреть историю коммитов — git log. Выводит список всех коммитов. У этой команды есть разные опции, самая используемая из них — --oneline. Она показывает хеш в укороченном формате, ветку, в которой сделан коммит, а также текст коммита. Чтобы использовать эту опцию (как и любую другую), нужно добавить её после команды: git log--oneline.

Запушить изменения — git push. Отправляет все зафиксированные изменения с локального репозитория в удалённый. Это одна из самых важных команд, ведь все вышеописанные действия производятся в локальной копии репозитория. Когда вы закончите работу, эту копию нужно будет отправить в удалённый репозиторий. Только так другие участники процесса смогут получить актуальную версию.

Работа с ветками

Работая с Git, приходится постоянно создавать и перемещаться по веткам. А иногда ветки нужно удалять или сливать.

☝ Здесь мы для примера используем branch-name. Вам при вводе команды нужно указать название вашей ветки.

Создать ветку — git switch --create branch-name. Добавляет новую ветку с названием branch-name и автоматически переключает на неё.

Переключить ветку — git switch branch-name. Вы перейдёте на уже созданную ветку branch-name.

Для создания и переключения веток также можно использовать git checkout. Эта команда появилась раньше, у неё есть множество дополнительных функций. Например, она может восстанавливать изменения в коммите. Как раз из-за такого разнообразия задач разработчики решили создать отдельную команду для переключения между ветками — git switch. Вы можете использовать любую из команд, однако git switch доступна только в версиях от 2.23.

Посмотреть все локальные ветки — git branch.

Переименовать ветку — git branch -m [старое-название-ветки] [новое-название-ветки] — переименовывает ветку. Названия нужно писать на латинице.

Отправить ветку — git push origin [branch-name] — отправляет ветку в удалённый репозиторий.

Удалить ветки — git branch --delete [branch-name]. Команда удаляет ветку [branch-name] в локальном репозитории. Если нужно избавиться от ветки в удалённом репозитории, используйте git push --delete origin [branch-name].

Влить ветки — git merge [branch-name]. Вливает ветку branch-name в ветку, в которой вы находитесь.

Перебазировать коммиты — git rebase [branch-name]. Перебазирует коммиты из ветки, в которой вы находитесь, в ветку [branch-name].

Создать точную копию коммитов — git cherry-pick. Команду часто совмещают с git merge и git rebase, чтобы сохранить линейную историю коммитов. То есть создаётся точная копия коммитов, выполняется перебазирование и слияние веток.

Откладывание и удаление

Отложить изменения — git stash push. Откладывает изменения, чтобы вы, например, могли срочно перейти к другой задаче. Чтобы отложить только часть изменений, используйте git stash --patch.

Вернуть отложенные изменения — git stash pop.

Отменить изменения, не добавленные в индекс — git restore [название файла]. Удалит изменения в одном файле. Чтобы удалить изменения во всех файлах, используйте git restore :/.

Отменить изменения, добавленные в индекс — git reset --hard. Возвращает изменения из индекса и полностью их отменяет.

Удалить коммит — git revert [195dfb0]. Вместо [195dfb0] указывается хеш коммита, его можно узнать с помощью команды git log.

Отменить слияние с конфликтом — git merge --abort. Используется, когда нет времени решать конфликт прямо здесь и сейчас.

Удалить лишнее — git clean. Команда «наводит чистоту» — удаляет неотслеживаемые файлы из рабочего каталога.

✅ Больше информации о работе с Git и практические навыки вы получите на курсе о Git и GitHub.


«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Читать дальше

5 частых ошибок при работе с Git

5 частых ошибок при работе с Git

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

Читать дальше
Git
  • 27 августа 2023
Работа с Git через консоль

Работа с Git через консоль

Задача: форкнуть репозиторий в GitHub, создать ветку и работать с кодом.

Сразу появляется много вопросов — что такое GitHub, какие для этого нужны команды, зачем, а главное, как всем этим пользоваться? Давайте разберёмся.


Больше из рубрики Git: введение, основные команды, решение проблем.


Когда мы пишем код, мы постоянно туда что-то добавляем, удаляем, и иногда всё может ломаться. Поэтому перед любыми изменениями стоит сделать копию проекта. Если собирать проекты в папки с именами проект1проект1_финали проект2_доделка, вы быстро запутаетесь и точно что-нибудь потеряете. Поэтому для работы с кодом используют системы контроля версий.

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

Git — самая популярная система контроля версий. С Git можно работать через командную строку (или терминал). В каждой системе своя встроенная программа для работы с командной строкой. В Windows это PowerShell или cmd, а в Linux или macOS — Terminal. Вместо встроенных программ можно использовать любую другую — например, Git Bash в Windows или iTerm2 для macOS.

Как работает терминал: мы вводим команду и получаем ответ компьютера — или всё получилось, или где-то ошибка, или нужно ввести что-то ещё — например, пароль. Поэтому большая часть этой инструкции состоит из команд для терминала. Сначала будет непривычно, но вам понравится.

Но давайте по порядку — установим Git на компьютер.

Читать дальше
Git
  • 7 августа 2023
GitHub Desktop: обзор и первая настройка

GitHub Desktop: обзор и первая настройка

Самая короткая инструкция о том, как сохранить файлы в GitHub и ничего не сломать. И самое главное — никакой консоли, всё через окошки и с помощью мышки. Для этого используем GitHub Desktop.

Внимание! GitHub Desktop не работает на Windows 7×32, поэтому если у вас эта версия системы, обновитесь до Windows 10 или воспользуйтесь программой GitKraken.

В этой статье идёт рассказ о системах контроля версий. Если вы совсем ничего о них не знаете, прочитайте статьи «Словарь терминов для Git и GitHub» и «Введение в системы контроля версий», чтобы понять терминологию и разобраться, зачем мы вообще это делаем.

Читать дальше
Git
  • 7 августа 2023
Как склеить коммиты и зачем это нужно

Как склеить коммиты и зачем это нужно

Когда вы открываете пулреквест и ваш код смотрят и комментируют другие, бывает нужно что-то исправить. Обычно такие изменения мы комментируем сообщением вроде «Увеличил шрифт на 2px» или «Поменял оттенок фона в шапке». Такие маленькие изменения интересны, только пока они в пулреквесте. Ревьювер (человек, который смотрит ваш код), может легко узнать, что и когда вы изменили, а не читать весь diff заново, а вы можете легко откатить коммит, если он не нужен. Но когда приходит время вливать пулреквест, эти маленькие коммиты теряют свою ценность. Поэтому лучше их склеить в один.

Читать дальше
Git
  • 14 июня 2023
Как бесплатно залить сайт на GitHub Pages

Как бесплатно залить сайт на GitHub Pages

Допустим, вы сделали какой-то проект, например, собрали себе портфолио по шаблону, и теперь хотите выложить его в интернет. Если вы использовали только HTML и CSS, то необязательно платить деньги, чтобы загрузить сайт куда-то. Вы можете бесплатно выложить сайт на сервис GitHub Pages. Всё, что нужно — аккаунт на Гитхабе.

Читать дальше
Git
  • 29 ноября 2022
Регистрация на GitHub

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

Создание нового аккаунта на GitHub состоит всего из 10 шагов — и вся регистрация занимает меньше пяти минут.

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

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

Ввод почты. На следующем шаге начинается регистрация. Подтвердите свою почту с прошлого шага и нажмите Continue (Продолжить).

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

Имя профиля. Теперь выберите имя вашего профиля — оно будет использоваться в интерфейсе, в коммитах и комментариях. То есть именно так вас будет видеть любой пользователь Гитхаба. Для разработчика Гитхаб вместо визитки, так что выбирайте что-нибудь приличное, лучше, если ник будет совпадать с вашими никнеймами на других сайтах.

Если имя недоступно, Гитхаб вам об этом скажет. А если доступно — жмите Continue.

Мне сложно работать после выходных. Что делать

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

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

Подтверждение почты. После капчи вам придёт письмо с кодом на почту. Введите его на следующей странице.

Вот здесь. Главное — не ошибайтесь.

Общая информация о вас и вашей команде. Если вы регистрируете аккаунт для себя, выбирайте Just me. Второй пункт — студент вы или учитель. Выбирайте «Студент», если вы не учитель.

Интересы. Дальше Гитхаб спросит вас об интересах — то есть о том, зачем вы регистрируете аккаунт. Из вариантов:

  • Совместная разработка и код ревью.
  • Автоматизация. CI/CD, API и другие админские вещи.
  • Безопасность. Двухфакторная аутентификация, ревью, сканирование кода и списки зависимостей.
  • Приложения. Выбирайте, если будете использовать GitHub Mobile, CLI, Desktop.
  • Управление проектами. Проекты, метки, ишьи, вики и другие управленческие дела.
  • Управление командами. Организации, приглашения, роли, домены.
  • Сообщество. Выбирайте, если Гитхаб интересен вам как соцсеть.

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

Выбор тарифа. На выбор бесплатный тариф или платный GitHub Pro. Практика показывает, что для большинства личных проектов хватит бесплатного тарифа. В сентябре 2022 в него входили:

  • Безлимитное количество репозиториев.
  • 2000 минут CI/CD в месяц.
  • 500 мегабайт места в хранилище пакетов.
  • Поддержка сообщества.

Выбор тоже можно пропустить, тогда у вас будет бесплатный тариф.

Всё готово. Теперь у вас есть аккаунт. Можете создать репозиторий и работать с ним, или склонировать чужой. А для работы у вас есть несколько удобных вариантов:

Читать дальше
Git
  • 28 сентября 2022
Работа с Git в Visual Studio Code

Работа с Git в Visual Studio Code

Если вы вёрстаете сайты или пишете код в редакторе Visual Studio Code, то Git за пять минут настраивается прямо внутри редактора. Не нужно запоминать команды для консоли, не нужно тыкать в лишние приложения.

Следуйте инструкции и всё получится.


Другие способы работать с Git: в терминале, в GitHub Desktop.


Читать дальше
Git
  • 16 сентября 2022
Markdown за 5 минут

Markdown за 5 минут

Маркдаун, он же markdown — удобный и быстрый способ разметки текста. Маркдаун используют, если недоступен HTML, а текст нужно сделать читаемым и хотя бы немного размеченным (заголовки, списки, картинки, ссылки).

Главный пример использования маркдауна, с которым мы часто сталкиваемся — файлы readme.md, которые есть в каждом репозитории на Гитхабе. md в имени файла это как раз сокращение от markdown.

Другой частый пример — сообщения в мессенджерах. Можно поставить звёздочки вокруг текста в Телеграме, и текст станет полужирным.

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

Читать дальше
Git
  • 5 октября 2021
Полезные команды для работы с Git

Полезные команды для работы с Git

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

Читать дальше
Git
  • 1 января 2020