A comprehensive Git workflow management CLI tool
Project description
GitFlow Studio CLI
A comprehensive Git workflow management CLI tool for developers who prefer command-line interfaces.
Author: Sherin Joseph Roy
Email: sherin.joseph2217@gmail.com
Repository: https://github.com/Sherin-SEF-AI/GitFlow-Studio
Features
- Git Operations: Status, log, branches, commits, push/pull
- Branch Management: Create, checkout, merge, rebase
- Stash Operations: Create, list, apply, pop stashes
- Git Flow Workflow: Initialize and manage Git Flow branches
- GitHub Integration: OAuth authentication and repository management
- Plugin System: Extensible architecture for custom workflows
- Async Operations: Non-blocking Git operations
- Cross-Platform: Works on Linux, macOS, and Windows
Installation
Quick Install (Recommended)
Linux/macOS
# Clone the repository
git clone https://github.com/Sherin-SEF-AI/GitFlow-Studio.git
cd GitFlow-Studio
# Run the installation script
./install.sh
Windows
# Clone the repository
git clone https://github.com/Sherin-SEF-AI/GitFlow-Studio.git
cd GitFlow-Studio
# Run the installation script
install.bat
Manual Installation
From Source
# Clone the repository
git clone https://github.com/Sherin-SEF-AI/GitFlow-Studio.git
cd GitFlow-Studio
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
From PyPI (when available)
pip install gitflow-studio
Prerequisites
- Python 3.9 or higher
- Git (for Git operations)
- pip (Python package installer)
For detailed installation instructions and troubleshooting, see INSTALLATION.md.
Usage
Basic Commands
# Set repository and show status
gitflow-studio --repo /path/to/repo status
# Show commit log
gitflow-studio --repo /path/to/repo log --max-count 10
# List all branches
gitflow-studio --repo /path/to/repo branch list
# Create a new branch
gitflow-studio --repo /path/to/repo branch create feature/new-feature
# Checkout a branch
gitflow-studio --repo /path/to/repo branch checkout feature/new-feature
# Merge a branch
gitflow-studio --repo /path/to/repo branch merge feature/new-feature
# Rebase current branch
gitflow-studio --repo /path/to/repo branch rebase main
Stash Operations
# List stashes
gitflow-studio --repo /path/to/repo stash list
# Create a stash
gitflow-studio --repo /path/to/repo stash create --message "WIP: feature in progress"
# Pop a stash
gitflow-studio --repo /path/to/repo stash pop --ref stash@{0}
Commit and Push/Pull
# Create a commit
gitflow-studio --repo /path/to/repo commit "Add new feature" --add-all
# Push changes
gitflow-studio --repo /path/to/repo push
# Pull changes
gitflow-studio --repo /path/to/repo pull
Git Flow Workflow
# Initialize Git Flow
gitflow-studio --repo /path/to/repo gitflow init
# Start a feature branch
gitflow-studio --repo /path/to/repo gitflow feature-start my-feature
# Finish a feature branch
gitflow-studio --repo /path/to/repo gitflow feature-finish my-feature
# Start a release
gitflow-studio --repo /path/to/repo gitflow release-start v1.0.0
# Finish a release
gitflow-studio --repo /path/to/repo gitflow release-finish v1.0.0
GitHub Integration
# Login to GitHub
gitflow-studio --github-login
# List your GitHub repositories
gitflow-studio github repos
# Clone a repository
gitflow-studio github clone my-repo-name
# Search repositories
gitflow-studio github search "python git workflow"
# Logout from GitHub
gitflow-studio --github-logout
For detailed GitHub integration setup and usage, see GITHUB_INTEGRATION.md.
Configuration
The tool uses the existing Git configuration in your repository. No additional configuration is required.
Development
Prerequisites
- Python 3.9+
- Git
Setup Development Environment
git clone https://github.com/Sherin-SEF-AI/GitFlow-Studio.git
cd GitFlow-Studio
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e .
Running Tests
python test_features.py
Architecture
- CLI Interface: Command-line interface using argparse
- Git Operations: Async Git operations using GitPython
- Plugin System: Extensible plugin architecture
- Database: SQLite for storing repository metadata
- Async Support: Full async/await support for non-blocking operations
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- Issues: GitHub Issues
- Documentation: GitHub Wiki
Project details
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 gitflow_studio-1.0.0.tar.gz.
File metadata
- Download URL: gitflow_studio-1.0.0.tar.gz
- Upload date:
- Size: 38.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00dccfbbac2151a043b979015b9d9821380efc0b54bbbbe4784db735e6f64827
|
|
| MD5 |
ea3c27b63a0dc5596d59c001d8d6ca82
|
|
| BLAKE2b-256 |
2412dad4756544508acac66edd719a0a281f27fed597205eaf69b554fd322780
|
File details
Details for the file gitflow_studio-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gitflow_studio-1.0.0-py3-none-any.whl
- Upload date:
- Size: 42.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d230011a35ea8e9e4568d597883fea41d1dbae072d519d197596080ad76c2404
|
|
| MD5 |
a62b7cd7a163c5aa95572735ecff16e5
|
|
| BLAKE2b-256 |
032ce485b26806fa863552c681fdac4ff2c50a063b44d4e43ce2dabae9205e70
|