## Remotes

- Forgejo: `ssh://git@git.halla-aho.net:2223/thalla/lomavuokraus.git`
- Add remote if missing: `git remote add origin ssh://git@git.halla-aho.net:2223/thalla/lomavuokraus.git`
- Verify remotes: `git remote -v`

## Daily flow

- Sync master: `git checkout master && git pull --rebase`
- Create feature branch: `git checkout -b feature/<name>`
- Commit locally: `git status`, `git add`, `git commit -m "message"`
- Push branch: `git push -u origin feature/<name>`
- Open PR to master in Forgejo; wait for review + CI
- After merge: `git checkout master && git pull --rebase && git branch -d feature/<name>`

## Branch protection

- Protect `master` in Forgejo (no direct pushes, require PR + ≥1 approval).
- Optional: require status checks and dismiss stale approvals.
- Restrict who can push to protected branches to admins/maintainers.

## Local config

- Pull strategy: `git config pull.rebase true` (or false/ff-only per preference).
- User: `git config user.name "Your Name"`, `git config user.email "you@example.com"`

## Troubleshooting

- Divergent pull: set pull strategy, rerun `git pull --rebase` or `git pull`.
- Protected branch rejection: push to feature branch and open a PR.
- Conflicts: `git status`, resolve, `git add`, then `git rebase --continue` or commit.
- Wrong branch: `git checkout -b feature/fix`, push, open PR.
- Clean merged branches: `git branch --merged master` then `git branch -d ...`

## CI

- Workflows live under `.forgejo/workflows/`.
- Ensure checks pass before merging PRs.

## Secrets & kubeconfig

- Secrets: `creds/secrets.enc.env` (sops/age). Load via `source scripts/load-secrets.sh`.
- Kubeconfig: `creds/kubeconfig.enc.yaml` decrypted automatically by `scripts/load-secrets.sh` when sops is available.