Работа в 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

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

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

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

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

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

2

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

3

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

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