Releases: andr3van/git-turnouts
v1.1.0 — Verify Command, Config Check & Consolidated Configuration
What's New in v1.1.0
New Features
verify Command
Check your worktrees against remote branches to detect stale or orphaned state.
git-turnouts verify— Read-only check, safe to run anytimegit-turnouts verify --verbose— Detailed per-worktree status including protection indicatorsgit-turnouts verify --clean— Remove worktrees whose remote branches have been deleted (with confirmation)git-turnouts verify --clean --dry-run— Preview what would be removed, without any changesgit-turnouts verify --clean --yes— Skip confirmation prompt
Safety features:
- Warns about unpushed commits before removal
- Detects uncommitted changes and prompts for confirmation
- Protected branches are fully respected — both worktree and branch are preserved
- Main/primary worktree is automatically skipped
config check Subcommand
Validate your tool dependencies before running git-turnouts.
git-turnouts config check— Check all required (git,bash,jq) and optional (gh,shellcheck) toolsgit-turnouts config check --verbose— Show full paths and tool purposesgit-turnouts config check --required/--optional— Filter by dependency type- Exit code
1if any required tools are missing
Changes
Consolidated Configuration Format
All project settings are now defined under a single project entry for a cleaner structure.
- List-based settings (
copy_files,protected_branches): Project values add to global values (additive) - Scalar settings (
base_dir,open_with,auto_prune): Project values override global values
Example:
global:
copy_files:
- .editorconfig
projects:
my-project:
copy_files:
- .env.local # Result: both .editorconfig AND .env.local are copied
Protected Branch Enforcement in remove
The remove command now fully blocks removal of protected branches, consistent with verify --clean. A clear error message with
guidance is shown when attempting to remove a protected branch.
open_with Behavior Change
Removed the hardcoded idea default. git-turnouts no longer automatically opens a worktree in IntelliJ IDEA unless explicitly
configured.
- Shows a helpful tip when open_with is not set
---
Breaking Change
open_with default removed. If you relied on the implicit open_with: idea default, add it explicitly to your .config.yml:
projects:
my-project:
open_with: idea
---
Bug Fixes
- Fixed configuration not loading correctly when git-turnouts was invoked via symlink
---
Documentation
- New "Verifying Worktrees" section in README
- New "Checking Dependencies" section in README
- Completely rewritten .config.yml.example with consolidated format and comprehensive comments
- Updated configuration hierarchy documentation and examplesv1.0.1 - Symlink Configuration Resolution Fix
Release title:
v1.0.1 - Symlink Configuration Resolution Fix
Release notes:
🐛 Bug Fixes
Fixed: Configuration file not loading when installed via symlink
This hotfix resolves a critical issue where git-turnouts could not properly load configuration files when installed using the recommended symlink method (ln -s "$(pwd)/git-turnouts" /usr/local/bin/git-turnouts).
What was broken:
- Configuration files (
.config.ymland.config.yml.example) were not found - Global settings (like
base_dir,copy_files,open_with) were ignored gto config initcommand failed with "Example file not found" error- Worktrees were created in auto-detected locations instead of configured directories
What's fixed:
- ✅ Script now properly resolves symlinks to find its actual installation directory
- ✅ Configuration files are correctly loaded from the git-turnouts directory
- ✅
gto config initworks properly with symlink installation - ✅
gto config showdisplays correct file paths - ✅ Global
base_dirand other settings are now respected
Impact:
If you installed git-turnouts using the symlink method, your configuration settings will now work as expected. No reinstallation needed - just pull the latest changes or update your symlink.
Technical Details:
- Fixed symlink resolution in
load_configuration()function - Fixed symlink resolution in
cmd_config()function - Updated version to 1.0.1
Installation
For new installations or updates:
cd /path/to/git-turnouts
git pullThe symlink will automatically use the updated script.
Git Turnouts v1.0.0 - Initial Release
🎉 Git Turnouts v1.0.0 - Initial Release
Switch between branches like a pro - your Git branch switching yard
We're excited to announce the first stable release of Git Turnouts! A command-line tool for managing Git worktrees with intelligent GitHub Pull Request integration.
✨ Key Features
- 🔀 Smart PR Integration - Create worktrees directly from PR numbers or titles
- ⚙️ Centralized Configuration - One YAML file manages all your projects
- 📂 Automatic File Copying - Copy essential configs (.env, .editorconfig, etc.) to new worktrees
- 🚀 Automatic Opening - Open worktrees in IntelliJ IDEA, VS Code, iTerm, Warp, or Finder
- 🛡️ Branch Protection - Prevent accidental deletion of important branches
- 📊 Bulk Removal - Remove multiple worktrees efficiently
- 🎯 Project Detection - Automatically detects project names and applies settings
📋 Requirements
- Unix-like OS (macOS, Linux)
- Git 2.5 or newer
- Bash 3.2+
- jq (for JSON parsing) - Install jq
- GitHub CLI (gh) (optional, for PR features) - Install gh
🚀 Quick Start
Installation
git clone https://github.com/andr3van/git-turnouts.git
cd git-turnouts
chmod +x git-turnouts
sudo ln -s "$(pwd)/git-turnouts" /usr/local/bin/git-turnouts
Basic Usage
# Create worktree from branch
git-turnouts add feature-auth
# Create worktree from PR number
git-turnouts add 7113
# Create worktree from PR title search
git-turnouts add "Add user authentication"
# Remove worktrees
git-turnouts remove feature-auth
# List all worktrees
git-turnouts list
🎯 What's Included
- ✅ Complete worktree management (add, remove, list)
- ✅ GitHub PR integration with smart search
- ✅ Flexible configuration system (global + project-specific)
- ✅ Automatic file copying for consistent environments
- ✅ IDE/application launcher integration
- ✅ Branch protection rules
- ✅ Comprehensive test suite (54+ tests)
- ✅ Detailed documentation and troubleshooting guide
- ✅ MIT License
🌍 Platform Support
Currently Supported:
- macOS (fully supported)
- Linux (core features fully supported, automatic opening in development)
Future Plans:
- Windows native support (coming soon)
📚 Documentation
- README: Complete usage guide and examples
- CONTRIBUTING: Guidelines for contributors
- Troubleshooting: Common issues and solutions
🐛 Known Limitations
- Automatic opening (--open flag) uses macOS-specific commands
- On Linux: worktrees are created successfully but auto-opening is not yet supported
- Windows native support is planned but not yet available
🤝 Contributing
Contributions are welcome! Whether you're fixing bugs, adding features, or improving documentation.
See https://github.com/andr3van/git-turnouts/blob/main/CONTRIBUTING.md for guidelines.
Areas where help is appreciated:
- 🎨 New IDE/application adapters
- 🐛 Bug reports and fixes
- 📚 Documentation and tutorials
- ✨ New features
- 🌍 Platform support (Windows, additional Unix-like systems)
📄 License
MIT License - see https://github.com/andr3van/git-turnouts/blob/main/LICENSE file for details
---
Full Changelog: Initial release
Thank you for using Git Turnouts! 🚀