Работа в Git: погружаемся в систему контроля версий | Часть 2

Привет, начинающие разработчики! После освоения консоли следующим важным шагом является знакомство с Git. Git – это как машина времени для вашего кода. Он позволяет отслеживать все изменения, вносить правки, возвращаться к предыдущим версиям и работать над проектом совместно с другими разработчиками. Это основа современного мира разработки, и сегодня мы сделаем первые шаги!

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

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

Инициализация репозитория

Первый шаг в использовании Git – создание репозитория. Репозиторий – это папка, в которой Git хранит всю информацию об изменениях вашего проекта.

  • git init (initialize) – “Начать отслеживать изменения”. Эта команда превращает текущую папку в Git-репозиторий.
git init
Initialized empty Git repository in /Users/Username/my-project/.git/
Пример.
Допустим, вы создали папку my-new-website. Перейдите в эту папку через консоль (cd my-new-website) и выполните git init. Теперь Git следит за всеми изменениями в этой папке.

Синхронизация локального и удаленного репозиториев

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

  • git remote add origin <URL>: “Связать локальный репозиторий с удаленным”. Эта команда устанавливает связь между вашим локальным репозиторием и удаленным репозиторием, расположенным по указанному URL. URL – это адрес репозитория на GitHub, GitLab или другом сервисе.
git remote add origin https://github.com/YandexPracticum/first-project.git
Пример:
Если вы создали репозиторий my-project на GitHub, команда будет выглядеть так: git remote add origin https://github.com/YourUsername/my-project.git. Замените YourUsername на ваше имя пользователя на GitHub.
  • git remote -v (verbose): “Проверить связь”. Эта команда показывает список связанных удаленных репозиториев и их URL.
git remote -v
origin https://github.com/YandexPracticum/first-project.git (fetch)
origin https://github.com/YandexPracticum/first-project.git (push)
Пример:
После выполнения git remote add origin запустите git remote -v, чтобы убедиться, что связь установлена правильно. Вы должны увидеть URL вашего удаленного репозитория.
  • git push -u origin main: “Отправить код в облако (в первый раз)”. Эта команда отправляет все изменения из вашего локального репозитория в удаленный репозиторий origin в ветку main. Флаг -u устанавливает связь между локальной и удаленной веткой, чтобы в дальнейшем можно было использовать более короткую команду git push. Важно: Ваша ветка может называться master, а не main. Если это так, используйте git push -u origin master.

Добавление изменений в последний коммит: исправляем ошибки

Иногда после создания коммита вы понимаете, что забыли добавить какой-то файл или допустили опечатку в комментарии. Git позволяет исправить последний коммит с помощью команды git commit --amend.

  • git commit --amend --no-edit: “Добавить изменения в последний коммит (без изменения комментария)”. Эта команда добавляет изменения из staging area в последний коммит, не изменяя комментарий к коммиту.
git add забытый_файл.txt
git commit –amend –no-edit
Пример:
Вы сделали коммит, но забыли добавить новый файл style.css. Добавьте файл в staging area (git add style.css) и выполните git commit --amend --no-edit, чтобы добавить файл в последний коммит.
  • git commit --amend -m "<Новый комментарий>": “Изменить комментарий к последнему коммиту”. Эта команда изменяет комментарий к последнему коммиту на указанный.
git commit –amend -m “Исправил опечатку в комментарии”
Важно: Если вы случайно попали в редактор Vim (который появляется при выполнении git commit –amend без флага –no-edit), нажмите Esc, введите :qa!, и нажмите Enter, чтобы выйти без сохранения изменений.

«Откат» файлов и коммитов: возвращаемся к прошлому

Git позволяет отменять изменения и возвращаться к предыдущим версиям файлов и коммитов.

  • git restore --staged <файл>: “Убрать файл из staging area”. Эта команда перемещает файл из staging area обратно в состояние “изменен” или “неотслеживаемый”.
git restore –staged hello.txt
Пример:
Вы случайно добавили файл secret.txt в staging area. Выполните git restore --staged secret.txt, чтобы убрать его из staging area.
  • git restore <файл>: “Вернуть файл к последней сохраненной версии”. Эта команда возвращает файл к последней версии, которая была зафиксирована с помощью коммита или добавлена в staging area.
git restore hello.txt
Пример:
Вы случайно удалили часть кода из файла index.html и хотите вернуть его к последней сохраненной версии. Выполните git restore index.html.
  • git reset --hard <хеш коммита>: “Удалить все изменения до указанного коммита”. Эта команда удаляет все незакоммиченные изменения из staging area и рабочей зоны, возвращая проект к указанному коммиту. Используйте эту команду с особой осторожностью!
git reset –hard b576d89
Пример:
Вы сделали несколько коммитов, но решили, что они были ошибкой. Выполните git log, чтобы найти хеш коммита, к которому хотите вернуться, а затем выполните git reset --hard <хеш коммита>.

Просмотр изменений: что именно поменялось

Команда git diff показывает разницу между различными версиями файлов.

  • git diff: “Показать изменения в рабочей зоне”. Эта команда показывает изменения, которые были внесены в файлы в рабочей зоне (modified-файлы).
git diff
diff –git a/index.html b/index.html
index 1234567..abcdef8 100644
— a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<html>
<head>
– <title>My Website</title>
+ <title>Мой веб-сайт</title>
Пример:
Вы изменили текст в файле index.html и хотите посмотреть, что именно поменялось. Выполните git diff.
  • git diff <хеш коммита1> <хеш коммита2>: “Показать разницу между двумя коммитами”. Эта команда выводит разницу между двумя коммитами.
git diff a9928ab 11bada1
  • git diff --staged: “Показать изменения, добавленные в staging area”. Эта команда показывает изменения, которые были добавлены в staging area (staged-файлы).
git diff –staged
case studies

See More Case Studies

Работа в Git: понятная инструкция пользователя | Часть 1

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

Learn more
Связаться с нами

Комплексные IT услуги для вас

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

Наши преимущества:
Что дальше?
1

Мы запланируем звонок в удобное для вас время

2

Мы проводим рабочую встречу по выявлению потребностей и консультированию

3

Мы готовим коммерческое предложение

Получить бесплатную консультацию