In this guide I will walk you through installing Geany and setting it up to make git pull requests easily.
I will also show you how to make a pull request to my blog page.
1. Install Git
- Download from git-scm.com.
- Run installer: Select defaults, but enable “Git Bash Here” for context menus.
- Verify: Open Git Bash, run
git --version
.
2. Install Geany
- Download from geany.org (~15MB).
- install
- Launch Geany.
3. Configure SSH for Repos
- Launch Git Bash from the start menu (Press the Windows key and then type “Git Bash” then press enter."
- Generate key: In Git Bash,
ssh-keygen -t ed25519 -C "email@example.com"
(use passphrase for security). - Add to GitHub: Copy
~/.ssh/id_ed25519.pub
to GitHub Settings > SSH keys. - To test SSH, run
ssh -T git@github.com
in Git Bash. This should show a greeting message.
4. Integrate Git in Geany
- Geany uses external commands for builds/runs; adapt for Git.
- Edit > Preferences > Tools: Set Terminal to
C:\Program Files\Git\git-bash.exe --login -i
(adjust path). - For quick Git: Use Build menu or keybinds.
- Build > Set Build Commands: Add custom for commit/push.
- Example: Label “Git Commit”, Command
git add . && git commit -m "%p"
(in project dir). - Label “Git Push”, Command
git push
.
- Example: Label “Git Commit”, Command
- Build > Set Build Commands: Add custom for commit/push.
- Workflow: Edit files in Geany, switch to built-in terminal (Ctrl+Alt+T) for Git commands.
5. Make a Pull Request
- Clone: In Git Bash (from Geany terminal): run
git clone git@github.com:jonahmondragon/jonahmondragon.xyz_blog.git
. - Branch:
git checkout -b feature-branch
. - Edit in Geany, save.
- Stage/Commit:
git add file.txt; git commit -m "Changes"
. - Push:
git push origin feature-branch
. - PR: Open browser to repo > Pull Requests > New > Select branch.
6. How to do make a Pull Request for a Private Repo
- Assume repo URL:
ssh://user@server/path/to/repo.git
. - Clone:
git clone ssh://user@server/path/to/repo.git
. - Same as above: Branch, edit in Geany, commit, push to branch.
Pure Git (bare repo) has no built-in PRs—it’s a hosting feature (GitHub/GitLab). Alternatives for collaboration:
- git request-pull: After push to branch, run
git request-pull main ssh://user@server/path/to/repo.git feature-branch
> Generates text summary. Email/Send to you (maintainer). You pull manually:git fetch origin feature-branch; git merge feature-branch
. - Self-host minimal forge: If needed, install Gitea (lightweight, suckless-friendly) on server—adds web PRs without bloat. Download binary, run as service. Config:
./gitea web
. - Efficient: Stick to CLI/email for minimalism; avoids web overhead unless multi-user.
Test setup: Clone a test repo, make/edit file in Geany, commit/push. Done.