834595df6b
Единый workspace.local.env для адресов и паролей, init-machine, Set-GitRemotes, push-safe и check-no-secrets для политики kalinamall/github.
82 lines
2.4 KiB
Markdown
82 lines
2.4 KiB
Markdown
# Работа с Git
|
||
|
||
Три **SSH**-remote (без HTTPS и без `origin`):
|
||
|
||
| Remote | Gitea / GitHub | URL |
|
||
|--------|----------------|-----|
|
||
| **kalinamall** | корпоративный (основной) | `ssh://git@git.kalinamall.lan:2222/PapaTramp/reverse-proxy.git` |
|
||
| **home** | домашний Gitea | `ssh://git@git.papatramp.lan:2222/PapaTramp/reverse-proxy.git` |
|
||
| **github** | резерв без секретов | `git@github.com:PTah/reverse-proxy.git` |
|
||
|
||
Публичные имена `git.kalinamall.ru` / `git.papatramp.ru` — те же хосты через SSH `:2222` (см. `~/.ssh/config`). Подробно — [repo-policy.md](repo-policy.md).
|
||
|
||
## Установка Git
|
||
|
||
```bash
|
||
sudo apt update
|
||
sudo apt install -y git
|
||
```
|
||
|
||
## Первое клонирование
|
||
|
||
```bash
|
||
cd ~
|
||
git clone ssh://git@git.kalinamall.lan:2222/PapaTramp/reverse-proxy.git
|
||
cd reverse-proxy
|
||
```
|
||
|
||
На Windows:
|
||
|
||
```powershell
|
||
cd scripts\workspace-bootstrap
|
||
.\init-machine.ps1
|
||
.\scripts\Set-GitRemotes.ps1 -Repo reverse-proxy
|
||
```
|
||
|
||
Полная настройка новой машины: [scripts/workspace-bootstrap/README.md](../scripts/workspace-bootstrap/README.md).
|
||
|
||
## Обновление локальной копии
|
||
|
||
```bash
|
||
cd ~/reverse-proxy
|
||
git pull kalinamall main
|
||
```
|
||
|
||
После `git pull` снова скопируйте при необходимости файлы в `/etc/haproxy/` (см. [haproxy-install.md](haproxy-install.md)).
|
||
|
||
## SSH-ключ
|
||
|
||
1. Создайте ключ (имя файла можно своё):
|
||
|
||
```bash
|
||
ssh-keygen -t ed25519 -C "ubuntu-haproxy" -f ~/.ssh/id_ed25519_kalinamall
|
||
```
|
||
|
||
2. Добавьте **публичный** ключ в Gitea: профиль → **Settings** → **SSH / GPG Keys**.
|
||
|
||
```bash
|
||
cat ~/.ssh/id_ed25519_kalinamall.pub
|
||
```
|
||
|
||
3. Проверка:
|
||
|
||
```bash
|
||
ssh -T git@git.kalinamall.lan
|
||
ssh -T git@git.papatramp.lan
|
||
```
|
||
|
||
## Push / pull
|
||
|
||
```bash
|
||
git remote -v
|
||
git push kalinamall main # основной
|
||
git push home main # копия на papatramp
|
||
git push github main # резерв — без секретов в коммите
|
||
```
|
||
|
||
Ветка **main** по умолчанию отслеживает **kalinamall/main**.
|
||
|
||
## HTTPS + PAT (legacy)
|
||
|
||
Для `https://git.kalinamall.ru/...` Git Credential Manager может открывать браузер. **Не используйте** — только SSH remotes выше.
|