Полное руководство по Git: установка, настройка и 70 основных команд с примерами
Сегодня практически каждый проект разрабатывается с использованием Git. Независимо от того, работаете ли вы с Laravel, Vue.js, Docker, Python, Java или любым другим языком программирования, знание Git является обязательным навыком.
Git позволяет отслеживать изменения в коде, работать в команде, откатывать ошибки и безопасно выпускать новые версии приложений.
В этом руководстве мы рассмотрим установку Git на Ubuntu 24.04, базовую настройку, работу с удаленными репозиториями и более 70 самых полезных команд Git.
Что такое Git
Git — это распределенная система контроля версий (Version Control System, VCS), созданная Линусом Торвальдсом в 2005 году.
Git сохраняет историю изменений файлов и позволяет:
работать над проектом одновременно нескольким разработчикам;
возвращаться к предыдущим версиям;
объединять изменения;
создавать отдельные ветки для новых функций;
синхронизировать код между компьютерами.
Практически все современные проекты используют Git.
Где используется Git
Git применяется практически везде:
Laravel;
Vue.js;
React;
Node.js;
Docker;
WordPress;
Bitrix;
Python;
Java;
Go;
DevOps-проектах.
Установка Git на Ubuntu 24.04
Обновите систему:
sudo apt update
Установите Git:
sudo apt install git -y
Проверьте установку:
git --version
Например:
git version 2.43.x
Первоначальная настройка Git
Укажите имя пользователя:
git config --global user.name "Roman Nesterenko"
Укажите email:
git config --global user.email "you@example.com"
Проверить настройки:
git config --list
Создание первого репозитория
Создайте каталог проекта:
mkdir my-project
cd my-project
Инициализируйте Git:
git init
После выполнения появится скрытая папка:
.git/
В ней хранится вся история проекта.
Что такое рабочее дерево, Index и Repository
Git условно состоит из трех областей:
Working Directory — файлы, с которыми вы работаете.
↓
Staging Area (Index) — подготовленные изменения.
↓
Repository — история коммитов.
Эта схема помогает понимать большинство команд Git.
Основные команды Git
1. Проверить версию
git --version
2. Инициализировать репозиторий
git init
3. Проверить статус
git status
Одна из самых часто используемых команд.
4. Добавить файл
git add index.php
5. Добавить все изменения
git add .
6. Сделать коммит
git commit -m "Initial commit"
7. Посмотреть историю
git log
Краткий формат:
git log --oneline
8. Посмотреть изменения
git diff
9. Посмотреть подготовленные изменения
git diff --cached
10. Показать информацию о коммите
git show
Работа с ветками
Создать ветку
git branch feature-auth
Показать ветки
git branch
Переключиться
git switch feature-auth
или
git checkout feature-auth
Создать и перейти
git switch -c feature-auth
Переименовать ветку
git branch -m new-name
Удалить ветку
git branch -d feature-auth
Принудительно:
git branch -D feature-auth
Работа с удаленным репозиторием
Добавить удаленный сервер:
git remote add origin https://github.com/user/project.git
Посмотреть:
git remote -v
Изменить URL:
git remote set-url origin git@github.com:user/project.git
Удалить:
git remote remove origin
Отправка изменений
Первый Push:
git push -u origin main
Следующие:
git push
Получение изменений
Получить изменения:
git pull
Только скачать:
git fetch
Клонирование проекта
git clone https://github.com/user/project.git
Работа с файлами
Удалить файл:
git rm file.php
Переименовать:
git mv old.php new.php
Отмена изменений
Отменить изменения файла:
git restore index.php
Вернуть файл из последнего коммита:
git checkout HEAD index.php
Отмена подготовки файла
git restore --staged index.php
Откат коммита
Создать обратный коммит:
git revert HASH
Сброс
Мягкий:
git reset --soft HEAD~1
Смешанный:
git reset HEAD~1
Жесткий:
git reset --hard HEAD~1
Внимание:
git reset --hardудаляет несохраненные изменения.
Работа со Stash
Сохранить изменения:
git stash
Посмотреть список:
git stash list
Вернуть изменения:
git stash pop
Удалить stash:
git stash drop
Очистить:
git stash clear
Поиск по истории
Кто изменил строку:
git blame index.php
Поиск коммита:
git log --grep="login"
История файла:
git log routes/web.php
Работа с тегами
Создать тег:
git tag v1.0.0
Посмотреть:
git tag
Отправить:
git push origin v1.0.0
Полезные команды
Размер репозитория:
git count-objects -vH
Посмотреть ветки:
git branch -a
Посмотреть удаленные ветки:
git branch -r
Очистить удаленные ссылки:
git fetch --prune
Посмотреть последний коммит:
git log -1
Красивый лог:
git log --graph --decorate --oneline --all
Работа с .gitignore
Создайте файл:
.gitignore
Для Laravel обычно добавляют:
/vendor
/node_modules
.env
/storage/*.key
/public/storage
/bootstrap/cache/*.php
После изменения .gitignore уже отслеживаемые файлы не перестанут автоматически отслеживаться. Чтобы удалить их из индекса Git, используйте:
git rm --cached имя_файла
или для каталога:
git rm -r --cached node_modules
Работа с GitHub
Создать SSH-ключ:
ssh-keygen -t ed25519
Посмотреть публичный ключ:
cat ~/.ssh/id_ed25519.pub
Проверить подключение:
ssh -T git@github.com
Клонирование через SSH:
git clone git@github.com:user/project.git
Частые ошибки
Author identity unknown
Настройте пользователя:
git config --global user.name "Ваше имя"
git config --global user.email "you@example.com"
Permission denied (publickey)
Причина:
отсутствует SSH-ключ;
ключ не добавлен в GitHub;
используется неправильный ключ.
Merge conflict
Git не смог автоматически объединить изменения.
Необходимо:
открыть конфликтующий файл;
выбрать правильный вариант;
сохранить изменения;
выполнить:
git add .
git commit
Nothing to commit
Это означает, что изменений нет.
Полезные советы
Для комфортной работы с Git придерживайтесь следующих рекомендаций:
делайте небольшие логические коммиты;
пишите понятные сообщения к коммитам;
чаще выполняйте
git pullперед началом работы;используйте отдельные ветки для новых функций;
не храните пароли и API-ключи в репозитории;
добавьте
.env,vendorиnode_modulesв.gitignore;регулярно отправляйте изменения в удаленный репозиторий.
Заключение
Git — это фундаментальный инструмент современной разработки. Он помогает безопасно хранить историю изменений, работать в команде и управлять версиями проекта.
Даже если вы разрабатываете проекты самостоятельно, использование Git значительно упростит работу: вы сможете экспериментировать с кодом, быстро возвращаться к предыдущим версиям и синхронизировать проект между несколькими компьютерами.
Освоив основные команды — git init, git status, git add, git commit, git branch, git switch, git pull, git push и git merge — вы сможете уверенно работать практически с любым современным проектом.