Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mvdan/git-picked
List merged and cherry-picked branches
https://github.com/mvdan/git-picked
branch git merge rebase
Last synced: 10 days ago
JSON representation
List merged and cherry-picked branches
- Host: GitHub
- URL: https://github.com/mvdan/git-picked
- Owner: mvdan
- License: bsd-3-clause
- Created: 2017-01-23T12:31:25.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-03-12T17:40:35.000Z (over 1 year ago)
- Last Synced: 2024-10-14T11:55:19.595Z (24 days ago)
- Topics: branch, git, merge, rebase
- Language: Go
- Size: 66.4 KB
- Stars: 29
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# git-picked
This tool is a drop-in replacement for `git branch --merged` which also works
when branches are rebased or cherry-picked into `HEAD`.go install mvdan.cc/git-picked@latest
It tries to match commits via their
[Change-Id](https://gerrit-review.googlesource.com/Documentation/user-changeid.html),
if it is present. Otherwise, a hash is used consisting of:* Author name
* Author email
* Author date (in UTC)
* Commit summary (first line of its message)Note that the matching is only done with the tip commit of each branch.
Matching is done against the history of `HEAD`, stopping when either all commits
have been found or when the main history dates fall behind the author dates of
the commits left to match. This will work nicely as long as noone uses a time
machine.This is a standalone binary and does not depend on the `git` executable.
Note that this heuristic may get confused with release branches. As such, if you
name your release branches `release-x.y` you likely want to use an alias like:git-picked | grep -vE '^(master|release|backport)'
Branches with patches targeting branches other than master should also be
excluded, like `backport-some-feature` in this case.