Git — шпаргалка с командами и описанием

Git — шпаргалка с командами и описанием

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 push

15. Быстрая шпаргалка “на каждый день”

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
    • большие архивы

DeZiNsect0r

Xeon City
[Nothing to write here]