---
next_cursor: eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6ImdpdCIsInYiOjF9
has_more: false
next: https://sincecutoff.com/v1/changes.md?tool=git&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6ImdpdCIsInYiOjF9
items: 3
---
# sincecutoff.com changes: git

## git history adds experimental history rewriting and split (git, 2026-04-20)
Published 2026-10-17
- slug: git-history-adds-experimental-history-rewriting-and-split-210975246771
- score: 0.97

How to use it:

When you need to split a commit, run `git history split <commit>` and interactively choose hunks for a new parent commit; Git prompts for both commit messages. For rewriting a commit message, run `git history reword <commit>`.

Examples:

```
git history split <commit>
```

```
git history split <commit> [--dry-run] [--update-refs=(branches|head)] [--] [<pathspec>…]
```

```
git history reword <commit> [--dry-run] [--update-refs=(branches|head)]
```

- why_it_matters: Split or rewrite commit history in a repository using Git's experimental history command.
- sources: <https://github.com/git/git/blob/v2.54.0/Documentation/RelNotes/2.54.0.adoc>, <https://git-scm.com/docs/git-history/2.54.0>
- gotchas: "Version: 2.54.0"; "Availability: experimental"; "<commit> (required): Commit to split or reword."; "--dry-run: Print reference updates without updating references; necessary new objects are still written."; "--update-refs=(branches|head): `branches` updates descendant local branches; `head` updates only the current HEAD reference. These values are mutually exclusive. Defaults to `branches`."; "--: Separates options from pathspec arguments."; "<pathspec>…: Limits which changes may be split; nonmatching files remain in the original commit."; "Prerequisite: Use Git 2.54.0 or later for the documented command. `git history` is experimental; its behavior may change."; "Prerequisite: The command does not support histories containing merges or operations that can result in merge conflicts."; "Prerequisite: For `split`, selecting all hunks or no hunks is invalid because one resulting commit would be empty."

## git url-parse exposes Git URL parsing (git, 2026-06-29)
Published 2026-10-17
- slug: git-url-parse-exposes-git-url-parsing-8fb05a1b797c
- score: 0.91

How to use it:

When debugging repository URL handling, use `git url-parse` to parse URLs and extract components. Without `--component`, it validates the URLs and produces no output.

Examples:

```
git url-parse --component <component> <url> [<url>…]
```

```
git url-parse <url> [<url>…]
```

- why_it_matters: Inspect how Git parses a URL while debugging repository URL handling.
- sources: <https://github.com/git/git/blob/v2.55.0/Documentation/RelNotes/2.55.0.adoc>, <https://github.com/git/git/blob/v2.55.0/Documentation/git-url-parse.adoc>
- gotchas: "Version: 2.55.0"; "<url>… (required): One or more Git URLs to parse."; "-c, --component <component>: Extract one component: `scheme`, `user`, `password`, `host`, `port`, or `path`. Each URL's value is printed on its own line; absent components produce an empty line."; "--: Separates options from URL arguments."

## git add --resolved stages conflict-resolved paths (git, 2026-09-28)
Published 2026-10-17
- slug: git-add-resolved-stages-conflict-resolved-paths-d08a10585f5d
- score: 0.90

How to use it:

When conflict-resolved paths remain unmerged, run `git add --resolved` to stage them. It refuses to stage any files if an unmerged path still has conflict markers.

Examples:

```
git add --resolved
```

- why_it_matters: Stage resolved conflict paths while preserving unrelated local changes as unstaged.
- sources: <https://github.com/git/git/blob/v2.56.0/Documentation/RelNotes/2.56.0.adoc>, <https://git-scm.com/docs/git-add>
- gotchas: "Version: 2.56.0"; "--resolved (required): Update the index for unmerged paths with no conflict markers. Cannot be combined with `-u` or `-A`."; "<pathspec>…: Limit the operation to matching unmerged paths."; "The command scans unmerged paths for leftover conflict markers and aborts if any are found."

Next: https://sincecutoff.com/v1/changes.md?tool=git&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6ImdpdCIsInYiOjF9
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
