Перейти к содержимому

Git Cheatsheet

Окно терминала
# Создание нового репозитория
git init
# Клонирование репозитория
git clone <url>
Окно терминала
# Настройка имени пользователя
git config --global user.name "Ваше Имя"
# Настройка email
git config --global user.email "your.email@example.com"
# Просмотр настроек
git config --list
Окно терминала
# Проверка статуса
git status
# Добавление файла в индекс
git add <filename>
# Добавление всех файлов
git add .
# Добавление всех изменений в индекс
git add -A
# Удаление файла из индекса
git reset <filename>
# Сброс всех изменений в рабочей директории
git checkout -- <filename>
Окно терминала
# Создание коммита
git commit -m "Описание изменений"
# Изменение последнего коммита
git commit --amend
# Добавление изменений и создание коммита
git commit -am "Описание изменений"
Окно терминала
# Просмотр истории коммитов
git log
# Просмотр в сокращённом виде
git log --oneline
# Просмотр с графом веток
git log --graph --oneline --all
# Просмотр изменений в коммите
git show <commit-hash>
# Просмотр изменений между коммитами
git diff <commit1> <commit2>
Окно терминала
# Создание новой ветки
git branch <branch-name>
# Переключение на ветку
git checkout <branch-name>
# Создание и переключение
git checkout -b <branch-name>
# Просмотр веток
git branch
# Удаление ветки
git branch -d <branch-name>
# Принудительное удаление
git branch -D <branch-name>
# Переименование ветки
git branch -m <old-name> <new-name>
Окно терминала
# Слияние ветки в текущую
git merge <branch-name>
# Отмена слияния
git merge --abort
# Решение конфликтов
# (редактируйте файлы с конфликтами)
git add <conflicted-file>
git commit -m "Разрешение конфликтов"
Окно терминала
# Добавление удалённого репозитория
git remote add origin <url>
# Просмотр удалённых репозиториев
git remote -v
# Отправка изменений
git push -u origin <branch>
# Получение изменений
git pull origin <branch>
# Получение без слияния
git fetch origin
# Удаление удалённой ветки
git push origin --delete <branch>
Окно терминала
# Отмена последнего коммита (сохраняет изменения)
git reset --soft HEAD~1
# Отмена последнего коммита (удаляет изменения)
git reset --hard HEAD~1
# Откат к конкретному коммиту
git reset --hard <commit-hash>
# Отмена изменений в файле
git checkout HEAD -- <filename>
Окно терминала
# Сохранение текущих изменений
git stash
# Просмотр сохранённых изменений
git stash list
# Восстановление сохранённых изменений
git stash pop
# Удаление сохранённых изменений
git stash drop
Окно терминала
# Поиск по коммитам
git log --grep="текст"
# Поиск по коду
git grep "текст"
# Поиск авторов
git log --author="имя"
# Комментарии начинаются с #
# Игнорирование конкретного файла
config.py
# Игнорирование по шаблону
*.log
*.tmp
# Игнорирование директории
__pycache__/
venv/
# Игнорирование во всех поддиректориях
**/test.py
# Исключение из игнорирования
!important.py
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# Virtual Environment
venv/
env/
ENV/
.venv
# IDE
.vscode/
.idea/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Environment
.env
.env.local
# Jupyter
.ipynb_checkpoints/
*.ipynb
# Database
*.db
*.sqlite
*.sqlite3
Окно терминала
# Клонирование репозитория
git clone https://gitlab.com/username/project.git
# Создание новой ветки и отправка на GitLab
git checkout -b feature-branch
# вносите изменения
git add .
git commit -m "Описание"
git push -u origin feature-branch
# Создание Merge Request через web-интерфейс GitLab
  1. Перейдите в раздел Issues
  2. Нажмите New issue
  3. Заполните заголовок и описание
  4. Нажмите Submit issue
  1. Нажмите Merge requests в боковом меню
  2. Нажмите New merge request
  3. Выберите исходную и целевую ветку
  4. Заполните описание изменений
  5. Нажмите Create merge request
Окно терминала
# 1. Создание новой ветки для фичи
git checkout -b feature/new-feature
# 2. Внесение изменений
# редактируйте файлы
git add .
git commit -m "Добавлена новая фича"
# 3. Отправка на удалённый репозиторий
git push -u origin feature/new-feature
# 4. Создание Merge Request в GitLab
# 5. После слияния удаление ветки
git checkout main
git pull origin main
git branch -d feature/new-feature
git push origin --delete feature/new-feature
Окно терминала
# Основные ветки:
# main - для продакшена
# develop - для разработки
# Создание ветки develop (если нет)
git checkout -b develop
# Создание ветки для фичи
git checkout -b feature/new-feature develop
# Внесение изменений
git add .
git commit -m "Описание"
# Слияние в develop
git checkout develop
git merge --no-ff feature/new-feature
git push origin develop
git branch -d feature/new-feature
# Релиз
git checkout -b release/1.0 develop
# финальные правки
git checkout main
git merge --no-ff release/1.0
git tag -a v1.0 -m "Версия 1.0"
git push origin main --tags
Окно терминала
# Создание алиасов
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
# Использование алиасов
git co main # вместо git checkout main
git br # вместо git branch
Окно терминала
# Сравнение с индексом
git diff
# Сравнение индекса с последним коммитом
git diff --staged
# Сравнение веток
git diff main develop
Окно терминала
# Интерактивное добавление файлов
git add -i
# Интерактивное добавление по частям
git add -p