# git_panel: Add Git actions in split button \(\#59608\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/e25e52be87fe6329b38fc38abd0bcd87f0d379c8)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: e25e52be87fe6329b38fc38abd0bcd87f0d379c8

Requested commit: e25e52be87fe6329b38fc38abd0bcd87f0d379c8

Commit: e25e52be87fe6329b38fc38abd0bcd87f0d379c8

Tree: e694502c8842cc2ff988337fb0a3b0167d0c74f8

Author: Sathwik Chirivelli

Committer: GitHub

## Message

```
git_panel: Add Git actions in split button (#59608)

# Objective

Improve the Git panel changes header by making the Stage All / Unstage
All control more consistent with other split-button actions in the Git
panel, such as the Fetch/Pull button.

## Solution

- Replaced the standalone Stage All / Unstage All button with a split
button.
- Kept the primary action context-sensitive, switching between Stage All
and Unstage All.
- Moved related Git change actions into the split-button menu: staging,
stashing, discard tracked changes, and trash untracked files.

## Testing

- Ran `cargo fmt --check`.
- Ran `cargo check -p git_ui`.
- Manually verified the Git panel dropdown behavior in the app.

## Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content adheres to Zed's UI standards
([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
and
[icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md)
guidelines)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

## Showcase

The Git panel changes header now uses a split button similar to the
Fetch/Pull control. The primary action updates between Stage All and
Unstage All, while the dropdown groups related Git actions.

when nothing is staged
<img width="359" height="245" alt="Screenshot 2026-06-19 at 11 01 44 PM"
src="https://github.com/user-attachments/assets/7fb7601f-8396-49c7-9d90-9f2e1706230a"
/>

when everything is staged already
<img width="360" height="219" alt="Screenshot 2026-06-19 at 11 01 52 PM"
src="https://github.com/user-attachments/assets/38ebebd9-09c2-4d24-aac3-6c4e22786ba5"
/>

rest of the menu options
<img width="385" height="294" alt="Screenshot 2026-06-19 at 11 01 59 PM"
src="https://github.com/user-attachments/assets/47393a17-78af-411c-9cb1-90781cf3a645"
/>


---


Release Notes:

- Improved Git panel change actions with a split-button menu.

---------

Co-authored-by: Christopher Biscardi <chris@christopherbiscardi.com>
```

## Parents

- [076fd14c88336fca9d2a4093452f3820c27453dd](https://git.cafe/gitcafe/zed/commit/076fd14c88336fca9d2a4093452f3820c27453dd?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/e25e52be87fe6329b38fc38abd0bcd87f0d379c8?format=markdown)
