Interactive Git history management and commit inspection tools with comprehensive diff review
Project description
gitship 🚀
Ship code faster, safer, and smarter.
gitship is the Swiss Army Knife for modern Python development. It transforms the tedious parts of version control—releasing, committing, dependency management, and history inspection—into automated, interactive workflows.
✨ Features
⚓ Release Automation (gitship release)
The complete release pipeline in one command.
- Interactive Versioning: Guided semantic version bumping (patch/minor/major).
- Smart Changelog: Automatically generates detailed changelogs from git history, grouping features, fixes, and updates.
- GitHub Releases: Creates draft releases with auto-generated notes for review.
- PyPI Integration: Checks PyPI status, auto-configures Trusted Publishing (OIDC), and ensures workflows are present.
- Safety First: Stashes translation/local changes automatically during release.
🧠 Intelligent Commits (gitship commit)
Commit like a pro without the effort.
- Change Analysis: Scans your changes and categorizes them (Code, Docs, Tests, Config, Translations).
- Smart Renames: Detects renamed files based on content similarity, even when git misses them.
- Auto-Message: Suggests conventional commit messages based on file analysis.
- Diff Review: Interactive diff viewer for staged and unstaged changes.
📦 Dependency Scanner (gitship deps)
Keep your pyproject.toml in sync.
- Auto-Scan: Parses source code AST to find imports.
- Smart Update: Adds missing dependencies to
pyproject.tomlautomatically. - Filtering: Distinguishes between standard library modules and external packages.
- Omnipkg Support: Integrates with
omnipkgfor advanced mapping if available.
🌿 Branch Manager (gitship branch)
Git branching, simplified.
- Interactive Management: List, create, rename, and delete branches via menu.
- Cleanup: Identify and delete merged branches.
- Default Branch: Easily change default branch settings locally and remotely.
☁️ Instant Publishing (gitship publish)
Go from local folder to published repo in seconds.
- One-Step Setup: Initializes git, creates the GitHub repository (public/private), and pushes code.
- Identity Verification: Verifies GitHub identity before acting.
🔍 History & Inspection
check: View recent commits, see file lists, and inspect changes interactively.review: Generate comprehensive diff reports between any two tags or commits.fix: Selectively restore specific files from past commits (atomic revert for single files).
🚀 Installation
pip install gitship
📖 Usage
Interactive Mode
Run gitship without arguments to enter the interactive menu:
gitship
CLI Commands
Release a new version:
gitship release
Smart commit:
gitship commit
Scan and update dependencies:
gitship deps
Manage branches:
gitship branch
Review history diffs:
gitship review --from v0.1.0 --to HEAD
Restore files from a past commit:
gitship fix <commit-sha>
⚙️ Configuration
gitship stores configuration in ~/.gitship/config.json.
View current settings:
gitship config --show
Set a default export path for reviews:
gitship config --set-export-path ~/code-reviews
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT License. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitship-0.2.5.tar.gz.
File metadata
- Download URL: gitship-0.2.5.tar.gz
- Upload date:
- Size: 79.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2abf9e2d688c48e701be4e31dc7d79e93ce6b2858317da242428abde41caecc4
|
|
| MD5 |
a631a2b4dfbad14dd9c749e15ee532e1
|
|
| BLAKE2b-256 |
8aa0617a8bb6ad8f84e5d89ba95f3f73cdb27ebe6f39e7b9de9158217b47220b
|
Provenance
The following attestation bundles were made for gitship-0.2.5.tar.gz:
Publisher:
publish.yml on 1minds3t/gitship
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitship-0.2.5.tar.gz -
Subject digest:
2abf9e2d688c48e701be4e31dc7d79e93ce6b2858317da242428abde41caecc4 - Sigstore transparency entry: 953424201
- Sigstore integration time:
-
Permalink:
1minds3t/gitship@be20903719f0fb6aeeb40211ace9cab9cbc4115e -
Branch / Tag:
refs/tags/v0.2.5 - Owner: https://github.com/1minds3t
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be20903719f0fb6aeeb40211ace9cab9cbc4115e -
Trigger Event:
release
-
Statement type:
File details
Details for the file gitship-0.2.5-py3-none-any.whl.
File metadata
- Download URL: gitship-0.2.5-py3-none-any.whl
- Upload date:
- Size: 81.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17f2030a410335cbd5d47d8c79c366135883009f40a0d2f29c9461ccd289df3d
|
|
| MD5 |
fd689bef8166548db80e26ba4ba6f367
|
|
| BLAKE2b-256 |
0ff566a29e59dcbcb3640435bb74e0219d26807e0ac6b110b9a9e254fba9b94c
|
Provenance
The following attestation bundles were made for gitship-0.2.5-py3-none-any.whl:
Publisher:
publish.yml on 1minds3t/gitship
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gitship-0.2.5-py3-none-any.whl -
Subject digest:
17f2030a410335cbd5d47d8c79c366135883009f40a0d2f29c9461ccd289df3d - Sigstore transparency entry: 953424202
- Sigstore integration time:
-
Permalink:
1minds3t/gitship@be20903719f0fb6aeeb40211ace9cab9cbc4115e -
Branch / Tag:
refs/tags/v0.2.5 - Owner: https://github.com/1minds3t
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be20903719f0fb6aeeb40211ace9cab9cbc4115e -
Trigger Event:
release
-
Statement type: