Push submodule before parent, check for -dirty flag, use rtk git only for parent repo operations. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
14 lines
996 B
Markdown
14 lines
996 B
Markdown
# Git conventions
|
|
|
|
- Never skip hooks with `--no-verify`. Hooks are the automated QA gate; bypassing them breaks the pipeline.
|
|
- Never force-push main or master.
|
|
- Commit messages explain why, not what. Written for both humans and changelog generators.
|
|
- Never commit secrets, credentials, or environment-specific config.
|
|
- Use conventional commits: `feat:`, `fix:`, `docs:`, `chore:`, `refactor:`, `test:`
|
|
|
|
## Submodules
|
|
|
|
- When working with submodules: commit and push the submodule first, then update and push the parent repo. Pushing the parent while the submodule commit doesn't exist on the remote breaks `git submodule update` for anyone who pulls.
|
|
- Always use `rtk git` for parent repo operations; drop into the submodule directory for submodule-specific git commands.
|
|
- After adding a submodule, check `git status` in both the parent and the submodule — a `-dirty` flag means the submodule has uncommitted local changes that need to be committed before the parent pointer is updated.
|