Skip to main content

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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

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

gitflow_studio-1.0.0.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitflow_studio-1.0.0-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

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

Hashes for gitflow_studio-1.0.0.tar.gz
Algorithm Hash digest
SHA256 00dccfbbac2151a043b979015b9d9821380efc0b54bbbbe4784db735e6f64827
MD5 ea3c27b63a0dc5596d59c001d8d6ca82
BLAKE2b-256 2412dad4756544508acac66edd719a0a281f27fed597205eaf69b554fd322780

See more details on using hashes here.

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

Hashes for gitflow_studio-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d230011a35ea8e9e4568d597883fea41d1dbae072d519d197596080ad76c2404
MD5 a62b7cd7a163c5aa95572735ecff16e5
BLAKE2b-256 032ce485b26806fa863552c681fdac4ff2c50a063b44d4e43ce2dabae9205e70

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page