# Git Merge Without Switching Branch ## Metadata **Status**:: #x **Zettel**:: #zettel/fleeting **Created**:: [[2025-12-28]] **Topic**:: [[♯ Git]] ## Synopsis Local a to b (fast-forward): ```shell git fetch . a:b ``` This does not work when b is already checked out. If so, use `git merge --ff-only a` instead. Local a to b (non-fast-forward) ```shell git fetch . +a:b ``` Remote a to local b (fast-forward): ```shell git fetch origin a:b ``` Remote a to local b (non-fast-forward) ```shell git fetch origin +a:b ```