HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
screenplaydev
graphite-cli
HISTORICAL RECORD2021–2021
screenplaydev / graphite-cli · Not publicly available

graphite-cli

Discover this repository through its Hacker News conversations.

2Distinct people
6Mentions
0Explicit recommenders
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A public description has not been verified.

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week6 dated mentions

Observed mentions: 2021-07-29 18:55:45 UTC to 2021-11-17 19:40:56 UTC. Weeks start Monday, UTC.

0123452021-07-26 00:00:00 UTC to 2021-08-02 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJul 262021-08-02 00:00:00 UTC to 2021-08-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-09 00:00:00 UTC to 2021-08-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-16 00:00:00 UTC to 2021-08-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-23 00:00:00 UTC to 2021-08-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-08-30 00:00:00 UTC to 2021-09-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-09-06 00:00:00 UTC to 2021-09-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-09-13 00:00:00 UTC to 2021-09-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-09-20 00:00:00 UTC to 2021-09-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 202021-09-27 00:00:00 UTC to 2021-10-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-10-04 00:00:00 UTC to 2021-10-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-10-11 00:00:00 UTC to 2021-10-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-10-18 00:00:00 UTC to 2021-10-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-10-25 00:00:00 UTC to 2021-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-11-01 00:00:00 UTC to 2021-11-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-11-08 00:00:00 UTC to 2021-11-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-11-15 00:00:00 UTC to 2021-11-22 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 commentsNov 15

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 262021-07-26 00:00:00 UTC2021-08-02 00:00:00 UTC110
Aug 22021-08-02 00:00:00 UTC2021-08-09 00:00:00 UTC000
Aug 92021-08-09 00:00:00 UTC2021-08-16 00:00:00 UTC000
Aug 162021-08-16 00:00:00 UTC2021-08-23 00:00:00 UTC000
Aug 232021-08-23 00:00:00 UTC2021-08-30 00:00:00 UTC000
Aug 302021-08-30 00:00:00 UTC2021-09-06 00:00:00 UTC000
Sep 62021-09-06 00:00:00 UTC2021-09-13 00:00:00 UTC000
Sep 132021-09-13 00:00:00 UTC2021-09-20 00:00:00 UTC000
Sep 202021-09-20 00:00:00 UTC2021-09-27 00:00:00 UTC000
Sep 272021-09-27 00:00:00 UTC2021-10-04 00:00:00 UTC000
Oct 42021-10-04 00:00:00 UTC2021-10-11 00:00:00 UTC000
Oct 112021-10-11 00:00:00 UTC2021-10-18 00:00:00 UTC000
Oct 182021-10-18 00:00:00 UTC2021-10-25 00:00:00 UTC000
Oct 252021-10-25 00:00:00 UTC2021-11-01 00:00:00 UTC000
Nov 12021-11-01 00:00:00 UTC2021-11-08 00:00:00 UTC000
Nov 82021-11-08 00:00:00 UTC2021-11-15 00:00:00 UTC000
Nov 152021-11-15 00:00:00 UTC2021-11-22 00:00:00 UTC505

What Hacker News says

6 sources
This is exactly the problem that graphite-cli solves (https://github.com/screenplaydev/graphite-cli) It keeps track of branchs and their parents by storing a tiny bit of metadata in the native git refs. It uses that information to perform recursive rebases: https://github.com/screenplaydev/graphite-cli/blob/main/src/... It ends up working seamlessly - you just modify some branch, and then run `gt stack fix` to recursively rebase everything. (and then `gt stack submit` to sync everything to github :) docs here: https://docs.graphite.dev/guides/graphite-cli
In Stacked changes: how FB and Google engineers stay unblocked and ship faster
We tried manually rebasing too, before building Graphite. The challenge you face with manual rebasing is two parts: 1) If you update the bottom branch, you need to manually rebase each branch above it. That becomes brutal if your stack is >3 branches. 2) You cant perform a simple rebase-onto, because you'll copy all commits between the higher branch and trunk. You'd have to perform a three-way rebase, specifying the range of commits you'd like to copy onto the destination. This becomes infeasible by hand. Graphite-cli gets around this by tracking branch metadata and storing it in native git refs (https://graphite.dev/blog/post/y6ysWaplagKc8YEFzYfr). When you rebase a stack, it recursively performs the three-way merge to fix things up smoothly. On top of this, git provides no good mechanisms for submitting the stack. Graphite cli can submi
Read the rest
t/sync your whole stack as individual PRs, and can prune merged branches from the bottom of local stacks. Ends up coming together as a really powerful workflow :) The cli is open source here: https://github.com/screenplaydev/graphite-cli, with docs here https://docs.graphite.dev/guides/graphite-cli. There's also an active Slack community which helps provide input on new features and adjustments. Please let me know if you have any other questions!
In Stacked changes: how FB and Google engineers stay unblocked and ship faster
Great question! It does lots of things. The CLI (https://github.com/screenplaydev/graphite-cli) lets you: - Recursively rebase changes to keep your branches correctly stacked - Allow you to shift half of a stack onto a different branch - Open up PRs/push changes for all the branches in a stack - Offer to delete merged branches from local, rebases the remaining branches, and adjust github pr merge bases. The web dashboard lets you: - See an inbox of PRs spanning any number of repos, based on which ones need action - Navigate between PRs in a stack - Modify Prs, review, all of which is synced to Github - Shortcuts, client side caching for fast loading, Phabricator style interface, macros, landing a stack of PRs together, and much more :) Give the tool a try, we'd love to hear your feedback in the community Slack! https://join.slack.com/t/gr
Read the rest
In Stacked changes: how FB and Google engineers stay unblocked and ship faster
The docs for the CLI and dashboard go into some more depth - might be what you're looking for? - https://docs.graphite.dev/guides/graphite-cli - https://docs.graphite.dev/guides/graphite-dashboard Re `git rebase --onto`, the open source CLI offers a recursive implementation to prevent you from having to carefully rebase each branch in your stack (https://github.com/screenplaydev/graphite-cli/blob/main/src/...) One of the reasons you cant use a simple rebase --onto is that you dont want to accidentally copy all downstack commits between the merge base and what you're restacking onto. The CLI tracks branch bases commits through git refs to ensure that restacking never duplicates commits.
In Stacked changes: how FB and Google engineers stay unblocked and ship faster

Show HN: Stacked diffs / interdependent changes (on GitHub)

We (Screenplay, https://screenplay.dev) built an internal tool (Graphite) to enable stacked diffs on GitHub for an individual (i.e. you can adopt it without your team also having to adopt it). It's inspired by some of the internal tooling we had at bigger companies. Specifically, the tool has two parts: * The CLI - https://github.com/screenplaydev/graphite-cli: Allows you to create diffs, restack them, submit them to GitHub, etc. It runs locally and stores all the metadata in your .git folder. * The website - https://app.graphite.dev/: A UI layer on top of GitHub (ultimately reads/writes from GitHub). OAuth in to have a better/customizable review queue and stack visualization, with notifs and an improved code review UI coming soon. You can use those two either separately or together. Would love people's feedback!
1 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.