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.