Итак, данный заголовок действительно не кликбейт. Так что если вы активно учите какой либо ЯП или другим образом просачиваетесь в it сферу, то данная статья послужит для вас настоящей шпаргалкой. Но обо всем по порядку.
Что такое Git?
Git - это распределённая система управления версиями, разработанная Линусом Торвальдсом.
C помощью него можно легко откатываться на свои более ранние версии проекта, отслеживать его изменения и синхронизировать с другими разработчиками, а также смотреть на развитие проекта в целом. По сути, это журнал, который подробно записывает все изменения файлов. Уметь работать с git’ом обязательно всем.
Как юзать?
Окей. C тем, что это такое, мы разобрались. Теперь узнаем, как его использовать.
- После установки проверьте, можете ли вы обратиться к git’у через терминал путем ввода “git --version”, если выведется версия программы, то все нормально. В противном случае добавьте git в path.
- Для того, чтобы не прописывать имя и email при каждом закреплении изменений, введем команды:
“git config --global user.name “name”
“git config --global user.email “email@email.com”
Создание репозитория
Все файлы git хранит в папке проекта и для того, чтобы он индексировал все изменения, нужно создать репозиторий.
В целях обучения создадим папку test_proj, откроем ее в терминале и добавим туда файл “code.js”. Создадим репозиторий: для этого введем “git init”. После выполнения данной команды в открытой директории создается скрытая подпапка .git, где хранятся история и настройки репозитория.
Состояние репозитория
Чтобы узнать состояние репозитория, воспользуемся командой “git status”. Она выводит названия неотслеживаемых файлов, зафиксированные и незафиксированные изменения.
Добавление файлов к отслеживанию
Git status напишет, что файл code.js не отслеживается и, чтобы git начал индексировать изменения, в нем пропишем команду “git add code.js”. Если нужно отслеживать все файлы, можно прописать команду “git add .” или “git add -A”. После добавления отслеживания файла code.js состояние репозитория поменялось, проверьте это командой “git status”. Вы ведь помните это, верно?
Фиксирование изменений
Теперь можно записать текущее состояние в дневник, т.е сделать коммит. Запишем в code.js код:
Сделаем коммит: «git commit -m “first commit”». Ключ -m ставится, чтобы не запускать текстовый редактор для ввода комментария коммита. После ключа в кавычках идет сам комментарий. !Комментарий должен отображать суть изменений!
Добавление удаленного репозитория
Изменение зафиксировалось только локально. Зальем их на сервер. Для этого нужен Github || Bitbucket || другой похожий сервис.
Создайте на одном из них репозиторий и скопируйте url для подключения. Подключим удаленный репозиторий, выполнив команду “git remote add origin <ваша ссылка>”, где origin - название репозитория. !Можно использовать несколько репозиториев одновременно, главный стоит называть origin!
Отправка изменений на удаленный репозиторий
После подключения мы можем отправлять туда зафиксированные изменения: “git push <имя репозитория> master”. Master - дефолтная ветка всех репозиториев. Теперь вы можете зайти на используемый вами git сервис и увидеть файл “code.js”. При желании можно скопировать уже существующий репозиторий с помощью команды “git clone <ваша ссылка>”. А еще запросить последнюю версию репозитория с сервера “git pull <имя репозитория> <имя ветки>”.
Ветвление
Ветки нужны для изоляции изменений, с помощью них можно создавать новый функционал, не беспокоясь, что кто-то изменит уже существующий код, и все поломается. Ветвь всегда можно удалить, сравнить или слить с другими.
Команда “git branch” выведет все существующие ветки. Звездочкой отмечается текущая. Чтобы создать ветвь, нужно выполнить: “git branch <название ветви>”. Для переключения используется: “git checkout <название ветви>”. Теперь перейдем к слиянию веток! Создадим ветку и добавим новый функционал. “git branch <название ветви>”. Находясь в новой ветке, создадим файл feature.js и поместим туда немного кода:
Сохраним изменения, сделав коммит. «git commit -am “new feature added”». Ключ -a добавляет в коммит все измененные файлы. Если мы переключимся на основную ветку, новую фичу мы не увидим. Для того чтобы добавить фичу в основную ветку нужно слить ее с текущей. После слияния все изменения переносятся в текущую ветвь. Так что давайте переключимся на ветку master: “git checkout main”. И наконец то можно слить все изменения. Это делается командой “git merge <имя ветки с изменениями>”. После слияние ветка с новым функционалом не нужна и ее можно удалить командой “git branch -d <имя ветви>”.
Возврат к коммиту
Как было сказано в начале, мы можем вернуться к предыдущей версии проекта. Делается это переходом к коммиту, командой “git checkout <id коммита>”. Чтобы вернуть определенный файл к предыдущему содержанию, после id коммита через пробел пишется название файла.
Исправить созданный коммит
Если вас не устраивает последний коммит, который еще не отправлен на сервер, то можно использовать команду “git commit -amend”. Это создает коммит, заменяющий предыдущий. Однако, если коммит уже был послан серверу, то его все еще можно отменить командой “git revert <id коммита>”. Последний коммит можно получить прописав HEAD вместо его id.
Файл .gitignore
Для того чтобы не случайно не отправить лишние файлы на сервер, используется файл “.gitignore”. В него нужно просто прописать имена папок и файлов, которые не должны отправляться. Также можно написать расширения, файлы с которым не будут коммитится. Например:
build #папка
script.js #файл
.txt #расширение
Надеюсь вы разобрались в базе работы с git'ом. Теперь возможности командной разработки для вас полностью открыты. И даже если вы пишите один, данная информация сильно облегчит вам работу над крупными и не очень проектами.
» Exit