From 7dd13bcfc337cf3a9cc0c43b2643c722330960c7 Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Thu, 11 Dec 2025 20:13:28 +0300 Subject: [PATCH] feat: initial commit --- README.md | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f249ba7 --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# Инструкция по настройке Git для GitHub на Windows + +## Примечание + +Гайд предполагает, что имя пользователя на всех компьютерах - "student", а ваше имя - Иванов Иван. + +## 1. Установка Git +Скачайте установщик с https://git-scm.com/download/win +Установите с настройками по умолчанию. + +## 2. Базовая настройка +Откройте Git Bash: + +```bash +git config --global user.name "Иван Иванов" +git config --global user.email "ваша_почта@example.com" +``` + +Конфигурация сохраняется в: `C:\Users\student\.gitconfig` + +## 3. Генерация RSA SSH-ключа +**ВАЖНО: Если на компьютере уже есть SSH-ключи, переименуйте новый ключ, чтобы избежать конфликтов.** + +Выполните команду: +```bash +ssh-keygen -t rsa -b 4096 -C "ваша_почта@example.com" +``` + +**Введите уникальное имя файла, например:** +- При запросе: `Enter file in which to save the key` +- Введите: `C:/Users/student/.ssh/id_rsa_ivan_ivanov` + +**Далее:** +- При запросе: `Enter passphrase` - введите пароль +- При запросе: `Enter same passphrase again` - повторите пароль + +**ПРИМЕЧАНИЕ: При вводе пароля символы не отображаются. Это нормально.** + +## 4. Файл SSH config +Создайте/отредактируйте файл: `C:\Users\student\.ssh\config` + +Добавьте конфигурацию: +``` +Host github.com + HostName github.com + User git + IdentityFile ~/.ssh/id_rsa_ivan_ivanov # не забудьте изменить + IdentitiesOnly yes +``` + +## 5. Добавление публичного ключа на GitHub +1. Откройте файл: `C:\Users\student\.ssh\id_rsa_ivan_ivanov.pub` +2. Скопируйте всё содержимое +3. На GitHub: Settings → SSH and GPG keys → New SSH key +4. Вставьте ключ, добавьте название, сохраните + +## 6. Проверка подключения +```bash +ssh -T git@github.com +``` +При первом подключении введите пароль от SSH-ключа. +Если всё хорошо, то должно получиться похожее сообщение: +``` +Hi ivan! You've successfully authenticated, but GitHub does not provide shell access. +``` + +## 7. Работа с репозиториями + +### Клонирование: +```bash +git clone git@github.com:username/repository.git +``` + +### Создание нового репозитория: +```bash +mkdir project-name +cd project-name +git init +git add . +git commit -m "Initial commit" +git branch -M main +git remote add origin git@github.com:username/repository.git +git push -u origin main +``` + +## 8. Проверка существующих ключей +Чтобы проверить, какие SSH-ключи уже есть в системе: +```bash +ls -la ~/.ssh/ +``` + +## Файловые пути +- Приватный ключ: `C:\Users\student\.ssh\id_rsa_ivan_ivanov` +- Публичный ключ: `C:\Users\student\.ssh\id_rsa_ivan_ivanov.pub` +- Конфиг SSH: `C:\Users\student\.ssh\config` +- Конфиг Git: `C:\Users\student\.gitconfig` + +## Безопасность +1. **Используйте уникальные имена для ключей** - это предотвратит перезапись существующих +2. **Никогда не передавайте приватные ключи** третьим лицам +3. Пароль обеспечивает защиту при компрометации файла ключа +4. Для смены пароля: `ssh-keygen -p -f ~/.ssh/id_rsa_ivan_ivanov` + +## Примечания +- Если ключ с таким именем уже существует, создайте новый с другим именем +- Каждый хостинг можно настроить с отдельным ключом +- Проверьте правильность пути в файле `config`