Drag‑Drop Commit in Sourcetree: A Visual Staging Shortcut for Git Newcomers
Explore Sourcetree’s drag‑and‑drop staging feature, its practical benefits, limitations, and a step‑by‑step example to streamline your Git workflow.
13 Jun 2026, 03:32 UTC

The Problem: Staging Feels Like a Hidden Step
For someone new to Git, the command git add can feel like a hidden step that separates the working directory from the commit. Clicking through a separate “stage” view adds friction, especially when you just want to commit a handful of files you have just edited.
Thesis: Drag‑and‑Drop Bridges the Gap
Sourcetree’s drag‑and‑drop commit feature lets you move files from the working tree straight into the staged area with a mouse motion. The visual workflow mirrors the familiar git add <path> concept while keeping everything in one pane, making the commit process approachable without leaving the GUI.
How the Drag Operation Maps to git add
The UI treats the staged area as a temporary index. When you drag a file or a folder from the working tree into that area, Sourcetree runs the equivalent of git add <path> behind the scenes. The repository scanner updates the list, showing a green checkmark for files that are accepted and a red X for those that cannot be staged.
Because the staging happens on the same thread that scans the repository, the operation is synchronous. If you drag many files at once, the UI may pause briefly while the scanner processes each path. Limiting the batch size—dragging a few files at a time—helps keep the interface responsive.
Worked Example and Verification
Create a test repository in a terminal:
mkdir demo-repo && cd demo-repo git initAdd a few files:
echo "line 1" > file1.txt echo "line 2" > file2.txt touch file3.logOpen Sourcetree and point it at the
demo-repofolder. The working tree showsfile1.txt,file2.txt, andfile3.log.Drag
file1.txtinto the staged area. A green checkmark appears next to the file, indicating successful staging.Open the commit preview window. It should list only
file1.txt. In a terminal, rungit statusto confirm the file appears under “Changes to be committed”.Commit through the Sourcetree UI, then run
git statusagain. The working tree should be clean, andgit show --stat HEADshould listfile1.txtin the new commit.
These steps demonstrate that the drag operation does not create duplicate entries; the commit preview shows a single file, and the post‑commit status reflects the expected change.
Trade‑offs and an Actionable Check
Duplicate staging: if you drag a file that is already staged, Sourcetree may add a second entry, inflating the commit size. Always check the commit preview before committing.
Portable version constraints: on some Linux distributions, the portable build of Sourcetree may lack the drag‑and‑drop feature, causing inconsistency across machines.
UI thread saturation: dragging a large batch of files can temporarily freeze the interface because the repository scanner must read each file’s metadata. Splitting the drag into smaller groups mitigates this risk.
To try the feature yourself, ensure you have write permission on the repository, open Sourcetree, drag one file into the staged area, and confirm the green checkmark. Then open the commit preview to verify only the intended files are listed. If you notice duplicate entries or UI lag, limit your drag batch size or stage files individually. When the workflow feels smooth, the drag‑and‑drop commit can become a natural part of your daily Git routine.