github / github/gh-stack

`gh stack rebase -i` - allow interactive rebasing

オープン
#151 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
feature request topic: cli - rebase
主要言語
Go
スター
1.5k
フォーク
70
平均マージ
1日 8時間
マージ済み PR(30日)
7

説明

Support `-i` for rebasing stacks.

I ❤️ rebasing, and doing no-edit amends. When I do that in a branch low in the stack, the higher layers end up with "duplicate-ish" commits that conflict. The solution during a normal rebase is to drop that new duplicate. Here's an example

### Initial State

branch-a
`main -> commitA (111aaa)`

branch-b
`main -> commitA (111aaa) -> commitB (222bbb)`

### Change in `branch-a` and `git commit --amend`'d

if I go to `branch-a` and make a change using `git commit --amend` I'll end up with this:

branch-a
`main -> commitA (112aaa)`

branch-b
`main -> commitA (111aaa) -> commitB (222bbb)`

### Finally, rebasing `branch-b`

Then when `branch-b` gets rebased, it looks like this:

`main -> commitA (112aaa) -> commitA (111aaa) -> commitB (222bbb)`

Again, the solution is simply to `drop` `commitA (111aaa)`, as that's the old one.

But I can't do that with `gh stack rebase`.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start at the `gh stack rebase` command and trace how its arguments are handled, then reproduce the stacked-branch example from the issue. The work is done when `gh stack rebase -i` launches interactive rebasing and allows the old duplicate commit to be dropped without producing the duplicate commit in the higher layer.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
git, go
領域
cli
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。