Git Integration
Drok speaks standard Git protocol. Any Git client works. Zero migration friction.
Drok implements the Git protocol natively. This means every Git client — the git CLI, VS Code, JetBrains IDEs, Tower, Fork, Sourcetree, and any other tool that speaks Git — works with Drok without plugins, extensions, or configuration beyond setting a remote URL.
Remote Configuration
HTTPS
git remote add drok https://drok.us/your-org/your-repo.gitHTTPS authentication uses your Drok personal access token:
git config --global credential.https://drok.us.helper storeOr configure per-repository credentials via your Git credential manager.
SSH
git remote add drok git@drok.us:your-org/your-repo.gitSSH authentication uses keys registered in your Drok account. See Installation for SSH key setup.
SSH Config
For advanced SSH configuration:
# ~/.ssh/config
Host drok.us
HostName drok.us
User git
IdentityFile ~/.ssh/id_ed25519
PreferredAuthentications publickeyOperations
All standard Git operations work as expected:
# Clone
git clone https://drok.us/your-org/your-repo.git
git clone git@drok.us:your-org/your-repo.git
# Push
git push drok main
# Pull
git pull drok main
# Fetch
git fetch drok
# Push tags
git push drok --tags
# Push all branches
git push drok --allLFS
Git LFS works transparently with Drok:
git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "Configure LFS"
git push drok mainLFS objects are stored on Cloudflare R2 with zero egress fees. See Repositories for LFS details.
Hooks
Drok supports server-side Git hooks:
| Hook | Trigger |
|---|---|
pre-receive | Before accepting a push |
post-receive | After accepting a push |
update | Before updating a ref |
Server-side hooks are configured via the web interface or API. They execute within Drok's infrastructure and can enforce custom policies (commit message format, file size limits, license headers).
IDE Integration
VS Code
VS Code's built-in Git support works with Drok repositories with no additional extensions. Clone, push, pull, and branch operations use the configured remote.
For enhanced Drok integration (merge requests, pipelines, code review), install the Drok VS Code extension:
code --install-extension drok.vscode-drokJetBrains
JetBrains IDEs (IntelliJ, WebStorm, PyCharm, etc.) work with Drok through their built-in Git support. For enhanced integration:
- Open Settings > Version Control > Drok
- Add your Drok server URL and personal access token
Neovim
The drok.nvim plugin provides:
- Merge request creation and review from within Neovim
- Pipeline status in the statusline
- Issue creation and browsing
- Code review comments in the gutter
-- lazy.nvim
{
"drok/drok.nvim",
config = function()
require("drok").setup({
host = "drok.us",
})
end,
}Multiple Remotes
Maintain remotes on both Drok and another platform during migration:
git remote add drok https://drok.us/your-org/your-repo.git
git remote add github https://github.com/your-org/your-repo.git
# Push to both
git push drok main
git push github main
# Or push to all remotes at once
git remote add all https://drok.us/your-org/your-repo.git
git remote set-url --add all https://github.com/your-org/your-repo.git
git push all mainSigned Commits
Drok verifies GPG, SSH, and post-quantum signatures on commits:
# GPG signing
git config --global commit.gpgsign true
git config --global user.signingkey YOUR_GPG_KEY_ID
# SSH signing
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
# Post-quantum signing (via drok CLI)
drok pq-key configure-gitSigned commits display a verification badge in the Drok web interface. See Post-Quantum Cryptography for post-quantum signing details.
Submodules
Git submodules work with Drok repositories:
git submodule add https://drok.us/your-org/shared-lib.git lib/sharedThe Drok web interface renders submodule links — clicking a submodule directory navigates to the referenced repository at the pinned commit.