Merged
Conversation
Add support for organizing worktrees by remote when working with multiple remotes (e.g., fork workflows with origin and upstream). When multi-remote mode is enabled, worktrees are organized as: project/origin/main/ project/upstream/main/ project/origin/feature/foo/ New commands: - `git daft multi-remote enable` - Enable and migrate existing worktrees - `git daft multi-remote disable` - Disable and flatten structure - `git daft multi-remote status` - Show current configuration - `git daft multi-remote set-default` - Change default remote - `git daft branch move` - Move worktree between remote folders New configuration keys: - `daft.multiRemote.enabled` - Enable remote-prefixed paths - `daft.multiRemote.defaultRemote` - Default remote for new branches Modified commands to support --remote flag: - git-worktree-checkout - git-worktree-checkout-branch - git-worktree-checkout-branch-from-default - git-worktree-clone - git-worktree-init Fixes #57 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Closed
avihut
added a commit
that referenced
this pull request
Jan 24, 2026
Add support for organizing worktrees by remote when working with multiple remotes (e.g., fork workflows with origin and upstream). When multi-remote mode is enabled, worktrees are organized as: project/origin/main/ project/upstream/main/ project/origin/feature/foo/ New commands: - `git daft multi-remote enable` - Enable and migrate existing worktrees - `git daft multi-remote disable` - Disable and flatten structure - `git daft multi-remote status` - Show current configuration - `git daft multi-remote set-default` - Change default remote - `git daft branch move` - Move worktree between remote folders New configuration keys: - `daft.multiRemote.enabled` - Enable remote-prefixed paths - `daft.multiRemote.defaultRemote` - Default remote for new branches Modified commands to support --remote flag: - git-worktree-checkout - git-worktree-checkout-branch - git-worktree-checkout-branch-from-default - git-worktree-clone - git-worktree-init Fixes #57 Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
originandupstream)git daft multi-remotecommand with enable/disable/status/set-default subcommandsgit daft branch movecommand to move worktrees between remote folders--remoteflag to checkout, clone, and init commandsWhen multi-remote mode is enabled, worktrees are organized as:
Test plan
just test-unit- all 96 tests passcargo clippy -- -D warnings- no warningscargo fmt -- --check- formatting correctgit daft multi-remote enablemigrates existing worktreesgit daft multi-remote disableflattens structure backgit worktree-checkout --remote upstream maincreates worktree in upstream foldergit daft branch move feature/foo --to upstreammoves worktreeFixes #57
🤖 Generated with Claude Code