Основы работы с 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
✅ Загрузка изменений из удаленного репозитория
✅ Работа с ветками и слиянием изменений