github / github/gh-stack

`gh stack submit` fails when remote uses a custom SSH host alias

未關閉
#45 4 則留言 6 個 reaction 已指派 0 人 在 GitHub 檢視
bug topic: cli - submit
主要語言
Go
星號
1.5k
分支
70
平均合併
1 天 8 小時
30 天內合併 PR
7

描述

`gh stack submit` exits with an error when the git remote URL uses a custom SSH host alias (e.g. `github.com-work`) instead of the literal `github.com` hostname. There is no flag to override the repository, so `submit` is unusable in this configuration.

## Steps to reproduce

1. Configure `~/.ssh/config` with a host alias (common for multi-account setups):
```
Host github.com-work
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_work
```

2. Clone using the alias:
```
git clone git@github.com-work:org/repo.git
cd repo
```
`git remote get-url origin` → `git@github.com-work:org/repo.git`

3. Initialize a stack and submit:
```
git checkout -b layer-1 && git commit --allow-empty -m "layer 1"
git checkout -b layer-2 && git commit --allow-empty -m "layer 2"
git checkout layer-1
gh stack init --adopt -b main layer-1 layer-2
gh stack submit --draft
```

## Actual result

```
✗ failed to create GitHub client: determining repository: unable to determine current
repository, none of the git remotes configured for this repository point to a known
GitHub host
```

The `--remote origin` flag and `GH_HOST=github.com` env var do not help — the error
is identical with both.

## Expected result

`gh stack submit` pushes the branches and opens draft PRs, the same as it would with a `git@github.com:org/repo.git` remote.

## What I tried

- `gh stack submit --remote origin` — same error
- `GH_HOST=github.com gh stack submit` — same error
- `GH_REPO=org/repo gh stack submit` — gets past host detection, but then pushes to
`git@github.com:org/repo.git` instead of the configured alias, so the push fails
with a key-agent rejection

## Workaround

Push branches manually and create PRs one at a time:

```bash
git push origin layer-1 layer-2
gh pr create --draft --repo org/repo --base main --head layer-1 --title "layer 1"
gh pr create --draft --repo org/repo --base layer-1 --head layer-2 --title "layer 2"
```

## Environment

```
gh version 2.89.0 (nixpkgs)
gh extension: gh stack (github/gh-stack)
OS: macOS
Remote URL format: git@github.com-:org/repo.git
```

貢獻指南

開啟貢獻指南

研究方向

Begin with the gh stack submit repository-detection and push paths, reproducing the failure with the documented github.com-work SSH alias and the --remote origin and GH_HOST cases. Done means submit recognizes the repository and pushes through the configured alias before opening the draft PRs, matching the literal github.com behavior.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
git, github, go
領域
cli, devtools
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
58/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。