# Git Cherry
Find commits in your branch that haven't been applied upstream — useful in patch-based workflows to see what still needs to land.
```bash
git cherry [-v] [<upstream> [<head> [<limit>]]]
```
Output prefixes:
- `-` — commit has an equivalent in upstream (can be dropped on rebase)
- `+` — commit not yet in upstream (still needs to go)
## Common Usage
```bash
git fetch
git cherry -v # compare HEAD to tracked upstream
git cherry -v origin/master topic # explicit branches
```
## With a Limit
If your branch is based on local work that isn't in upstream, use `<limit>` to exclude those base commits from the output:
```bash
git cherry origin/master topic base
```
## See Also
- [[Interactive Rebase]] — reorder or drop commits before sending upstream