1. Первичная настройка Git
Проверить версию Git
git --version
Указать имя пользователя
git config --global user.name "Твоё Имя"
Указать email
git config --global user.email "mail@example.com"
Посмотреть настройки
git config --list
2. Создание и клонирование репозитория
Создать новый репозиторий
git init
Клонировать существующий репозиторий
git clone https://example.com/repo.git
Клонировать в конкретную папку
git clone https://example.com/repo.git myproject
3. Основная работа с файлами
Проверить статус файлов
git status
Добавить конкретный файл
git add file.txt
Добавить все файлы
git add .
Сделать коммит
git commit -m "Описание изменений"
Добавить и закоммитить сразу
git commit -am "Описание"
⚠ Работает только для уже отслеживаемых файлов.
4. Работа с удалённым репозиторием
Подключить удалённый репозиторий
git remote add origin https://git.example.com/user/repo.git
Посмотреть remote
git remote -v
Отправить изменения
git push origin main
Первый push с привязкой ветки
git push -u origin main
Скачать изменения
git pull
Скачать без слияния
git fetch
5. Работа с ветками
Посмотреть ветки
git branch
Создать новую ветку
git branch dev
Переключиться на ветку
git checkout dev
Создать и сразу перейти
git checkout -b dev
Современный аналог checkout
git switch dev
Создать и перейти
git switch -c dev
Удалить ветку
git branch -d dev
Принудительно удалить ветку
git branch -D dev
6. Слияние веток
Слить ветку в текущую
git merge dev
Пример:
git checkout maingit merge dev
7. Просмотр истории
История коммитов
git log
Краткая история
git log --oneline
Красивое дерево коммитов
git log --oneline --graph --all
8. Отмена изменений
Отменить изменения файла
git restore file.txt
Убрать файл из staged
git restore --staged file.txt
Откатиться к предыдущему коммиту
git reset --hard HEAD~1
⚠ Удаляет изменения без возможности восстановления.
Мягкий reset
git reset --soft HEAD~1
Коммит удалится, но файлы останутся.
9. Работа с stash
Временно сохранить изменения
git stash
Вернуть изменения
git stash pop
Посмотреть stash
git stash list
10. Работа с тегами (релизы)
Создать тег
git tag v1.0
Отправить тег
git push origin v1.0
Отправить все теги
git push --tags
11. Полезные команды
Посмотреть изменения
git diff
Кто изменил строки
git blame file.txt
Очистить неотслеживаемые файлы
git clean -fd
Переименовать ветку
git branch -m new-name
12. Работа с .gitignore
Файл .gitignore нужен, чтобы Git не отслеживал мусор.
Пример:
node_modules/*.log.envdist/
13. SSH для Git (рекомендуется)
Создать SSH ключ
ssh-keygen -t ed25519 -C "mail@example.com"
Показать публичный ключ
cat ~/.ssh/id_ed25519.pub
Публичный ключ добавляется в:
- GitHub
- GitLab
- твой Gitea сервер
14. Типичный рабочий цикл Git
git pull
git add .
git commit -m "Исправил баг"git push15. Быстрая шпаргалка “на каждый день”
git status # Статус
git add . # Добавить файлы
git commit -m "msg" # Коммит
git pull # Скачать изменения
git push # Отправить изменения
git log --oneline # История
git checkout -b dev # Новая ветка
git merge dev # Слить ветку
git stash # Временно убрать изменения16. Полезные советы
- Коммиты делай маленькими и понятными
- Пиши нормальные сообщения:
git commit -m "Fix nginx config parsing"
- Не коммить:
.env- пароли
- API ключи
node_modules- большие архивы