116 lines
5.4 KiB
Markdown
116 lines
5.4 KiB
Markdown
# Инструкция по настройке Git для GitHub на Windows
|
||
|
||
## Примечание
|
||
|
||
Гайд предполагает, что имя пользователя на всех компьютерах - "student", а ваше имя - Иванов Иван.
|
||
|
||
## 1. Установка Git
|
||
Скачайте установщик с https://git-scm.com/download/win
|
||
Установите с настройками по умолчанию.
|
||
|
||
## 2. Базовая настройка
|
||
Откройте Git Bash Через поиск Windows или ПКМ внутри папки. Напишите команды:
|
||
|
||
```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-агент предупредит Вас о соединении с ранее неизвестным хостом. Напишите `yes`, чтобы доверять хосту.
|
||
Затем Вас попросят ввести пароль от SSH-ключа. Введите его.
|
||
Если всё хорошо, то должно получиться похожее сообщение:
|
||
```
|
||
Hi ivan! You've successfully authenticated, but GitHub does not provide shell access.
|
||
```
|
||
|
||
## 7. Работа с репозиториями
|
||
|
||
### Клонирование:
|
||
На Github склонируйте ссылку на существующий репозиторий. Напишите в консоль команду в данном формате:
|
||
```bash
|
||
git clone git@github.com:username/repository.git
|
||
```
|
||
|
||
### Создание нового репозитория:
|
||
Предварительно создайте репозиторий на своей странице Github. Затем на своем компьютере:
|
||
1. Создайте папку и войдите в нее. Добавьте новый файл, например файл описания `README.md`;
|
||
2. откройте Git Bash / Powershell / терминал VSCode **для данной папки, именно для неё**;
|
||
3. выполните команды:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
все новые изменения можно отправлять на Github командой `git push origin ветка`.
|
||
|
||
## 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`
|