Split one commit into a focused series
Actions → Split Commit… assigns a local commit’s files or text hunks to 2–20 commits. Binary files, adds/deletes, submodules, and mode changes stay as whole-file pieces. Preview uses a temporary index and verifies the original final tree.
Apply requires a clean branch and unchanged HEAD, saves a restore point, and guards the branch update against concurrent changes. Up to 200 later commits are supported; selected merges and later merge commits are rejected. Signatures are not preserved, and nothing is pushed.
Preview a stacked branch restack
Actions → Stacked Branches & Requests… links local children to parents. Links and saved boundaries do not move branches by themselves. With Git 2.38+, a restack preview rebases up to 10 linked descendants, each with up to 100 linear commits, in a separate worktree.
Resolve paused conflicts in the preview workspace and resume the preview from an original workspace. Applying requires a clean unaffected checkout and no affected branches checked out in any worktree. Request retargeting is explicit; merge detection, publishing, and force-pushing are not automatic.
Track and transfer large files deliberately
Actions → Git LFS Manager… uses a separately installed recent Git LFS command. Add tracking rules, inspect object hashes and sizes, and review whether a working file is a full asset or a pointer.
Fetch to cache, Pull assets, Checkout cached, and Upload current revision are separate actions. Tracking changes update .gitattributes for you to review and commit; they do not migrate existing history. Transfers can be cancelled, with partial objects retained for a retry.
Keep only the folders you need
Actions → Sparse Checkout… requires Git 2.37+. Select directories, then preview included and excluded entries and the paths that will be populated or removed. Cone mode also includes root files and immediate files in ancestor directories.
Apply requires a clean checkout, saves both a workspace restore point and a separate layout backup, and rejects stale previews or blocking files. Excluded files remain in Git history. Sparse checkout reduces populated working files; it does not remove objects already downloaded to the repository database.