You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Requires [GitHub CLI](https://cli.github.com/) (`gh`) installed and authenticated.
26
+
Requires [GitHub CLI][] (`gh`) installed and authenticated.
34
27
35
28
```bash
36
29
gh extension install boneskull/gh-stack
37
30
```
38
31
39
-
That's it. Precompiled binaries are available for macOS, Linux, and Windows.
40
-
41
32
## Usage
42
33
43
34
### Initialize a Repository
@@ -56,6 +47,15 @@ gh stack create feature-auth
56
47
57
48
Creates `feature-auth` branched from your current position and tracks it as a child.
58
49
50
+
> ![TIP]
51
+
>
52
+
> `gh stack create` is sugar for this:
53
+
>
54
+
> ```bash
55
+
> git checkout -b feature-auth
56
+
> gh stack adopt feature-auth
57
+
>```
58
+
59
59
### View Your Stack
60
60
61
61
```bash
@@ -128,7 +128,7 @@ Fetches from origin, fast-forwards trunk, detects merged PRs, cleans up merged b
128
128
129
129
## How It Works
130
130
131
-
gh-stack stores metadata in your local `.git/config`:
131
+
**gh-stack** stores metadata in your local `.git/config`:
132
132
133
133
```ini
134
134
[stack]
@@ -149,32 +149,32 @@ No remote service required. Your stack relationships stay with your repository.
149
149
150
150
### vs. Graphite
151
151
152
-
[Graphite](https://graphite.dev/) is a SaaS product with a polished CLI and web dashboard. It requires an account and stores stack metadata on their servers. gh-stack stores everything locally in `.git/config`—no account, no remote dependency.
152
+
[Graphite](https://graphite.dev/) is a SaaS product with a polished CLI and web dashboard. It requires an account and stores stack metadata on their servers. **gh-stack** stores everything locally in `.git/config`—no account, no remote dependency.
153
153
154
154
### vs. spr
155
155
156
156
[spr](https://github.com/ejoffe/spr) enforces a strict "one commit = one PR" model. You work on a single branch, and each commit automatically becomes a separate PR. You cannot merge PRs through GitHub's UI—you must use `spr merge`.
157
157
158
-
gh-stack uses a traditional "one branch = one PR" model. You control what goes into each PR, create PRs when you're ready, and merge through GitHub normally. More flexibility, less automation.
158
+
**gh-stack** uses a traditional "one branch = one PR" model. You control what goes into each PR, create PRs when you're ready, and merge through GitHub normally. More flexibility, less automation.
159
159
160
160
### vs. git-town
161
161
162
162
[git-town](https://github.com/git-town/git-town) is a general-purpose Git workflow tool that automates branch creation, synchronization, and cleanup across many workflows (Git Flow, GitHub Flow, trunk-based development). Stacked changes are one feature among many.
163
163
164
-
gh-stack focuses exclusively on stacked PRs. If you want a comprehensive Git workflow tool, use git-town. If you want a lightweight tool just for managing PR stacks on GitHub, use gh-stack.
164
+
**gh-stack** focuses exclusively on stacked PRs. If you want a comprehensive Git workflow tool, use git-town. If you want a lightweight tool just for managing PR stacks on GitHub, use **gh-stack**.
165
165
166
166
### vs. git-branchless
167
167
168
168
[git-branchless](https://github.com/arxanas/git-branchless) is a powerful suite that enhances Git with undo functionality, interactive commit graph editing, and patch-stack workflows. It's designed for power users and optimized for massive repositories.
169
169
170
-
gh-stack is narrower in scope: it tracks parent-child relationships between branches and helps you manage the resulting PRs. It doesn't modify how Git works—it just adds stack awareness on top.
170
+
**gh-stack** is narrower in scope: it tracks parent-child relationships between branches and helps you manage the resulting PRs. It doesn't modify how Git works—it just adds stack awareness on top.
0 commit comments