Skip to Content

Основы работы с Git и GitHub: Шпаргалка

Основы работы с Git и GitHub: Шпаргалка


1. Установка и настройка Git и GitHub CLI

Установка Git

Linux (Debian/Ubuntu):

bash


sudo apt update sudo apt install git


Установка GitHub CLI (gh)


Linux:

bash


type -p curl >/dev/null || sudo apt install curl -y curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null sudo apt update sudo apt install gh

MacOS:

bash


brew install gh

2. Настройка связи с GitHub

Настройка SSH-ключей

Создание SSH-ключа:

bash


ssh-keygen -t ed25519 -C "your_email@example.com"

Добавление ключа в SSH-агент:

bash


eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519

Скопируйте ключ и добавьте его в GitHub:

bash


cat ~/.ssh/id_ed25519.pub

Перейдите в GitHub Settings → SSH and GPG keys и добавьте ключ.

3. Основные команды Git и GitHub CLI

Создать новый репозиторий

Git:

bash


git init

GitHub CLI:

bash


gh repo create <repo-name> --public

Инициализировать репозиторий в текущей папке

bash


cd /path/to/your/project git init

Создать файл

bash


echo "Hello, Git!" > README.md

Добавить файл в индекс

bash


git add README.md

Сделать коммит

bash


git commit -m "Initial commit"

Связать локальный репозиторий с удаленным

bash


git remote add origin https://github.com/your-username/your-repo.git

Отправить изменения в удаленный репозиторий

bash


git push -u origin main

Клонировать репозиторий

bash


git clone https://github.com/your-username/your-repo.git

Проверить статус репозитория

bash


git status

Посмотреть историю коммитов

bash


git log --oneline --graph --all

4. Использование git stash

Когда вы работаете над изменениями в коде, но не хотите делать коммит прямо сейчас, можно воспользоваться git stash.

Добавить изменения в stash

bash


git stash

Или сохранить с комментарием:

bash


git stash save "Сохранение перед переключением ветки"

Посмотреть список сохраненных изменений

bash


git stash list

Вернуть последние сохраненные изменения

bash


git stash pop

Применить определенное сохранение из списка

bash


git stash apply stash@{1}

Удалить сохраненное состояние из stash

bash


git stash drop stash@{1}

Очистить весь stash

bash


git stash clear


5. Загрузка изменений из удаленного репозитория

Когда другие разработчики вносят изменения в удаленный репозиторий, вам нужно синхронизировать их с локальным репозиторием.

Загрузить изменения без автоматического слияния

bash


git fetch

Эта команда скачает изменения с удаленного репозитория, но не объединит их с вашей текущей веткой.

Загрузить изменения и объединить с текущей веткой

bash


git pull

Эта команда автоматически скачает и объединит изменения из удаленного репозитория в вашу текущую ветку.

Загрузить изменения из определенной ветки

bash


git pull origin main

Здесь main — это имя ветки, из которой вы хотите загрузить изменения.

6. Основные команды для работы с ветками в Git

Git позволяет работать с разными версиями проекта с помощью веток.

Посмотреть список всех веток

bash


git branch

Звездочкой (*) отмечена текущая активная ветка.

Создать новую ветку

bash


git branch new-feature

Здесь new-feature — название новой ветки.

Переключиться на другую ветку

bash


git checkout new-feature

Или с более новым синтаксисом:

bash


git switch new-feature

Создать и сразу переключиться на новую ветку

bash


git checkout -b new-feature

Альтернативный вариант:

bash


git switch -c new-feature

Удалить локальную ветку

bash


git branch -d new-feature

Если ветка содержит незаконченные изменения, и Git не позволяет её удалить, используйте:

bash


git branch -D new-feature

Отправить новую ветку в удаленный репозиторий

bash


git push -u origin new-feature

Флаг -u связывает локальную ветку с удаленной.

Удалить ветку в удаленном репозитории

bash


git push origin --delete new-feature

Объединить (merge) одну ветку в другую

Переключаемся на основную ветку:

bash


git checkout main

Сливаем изменения из new-feature в main:

bash


git merge new-feature

Если возникли конфликты, Git попросит вас их разрешить вручную.

Рассмотреть историю слияний

bash


git log --oneline --graph --all

Создать новую ветку и автоматически начать отслеживание удаленной ветки

bash


git checkout -b new-feature origin/new-feature

Заключение

Теперь у вас есть полный набор команд для работы с Git и GitHub:

✅ Установка и настройка

✅ Создание репозиториев

✅ Работа с коммитами и git stash

✅ Загрузка изменений из удаленного репозитория

✅ Работа с ветками и слиянием изменений