microsoft / microsoft/vscode-pull-request-github

Request for `>GitHub Pull Requests: Forget Pull Request`

未关闭
#8,639 1 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
TypeScript
星标
2.6k
派生
795
平均合并
1 天 4 小时
30 天内合并 PR
46

描述

When I create a pull request, my workflow is typically:

  • Create a branch, feature/foo
  • Do work
  • Create a pull request associated with feature/foo
  • Get a review from a colleague
  • Look at the review on GitHub
  • Merge the pull request from GitHub

This leaves my local state in an awkward scenario. I need to:

  • Switch to main
  • Pull main
  • Delete my feature/foo branch

I can do this manually, but this is such a common workflow of mine that I feel like a command for this is somehow missing. In R, we've created a suite of PR related helpers for this and the relevant one is usethis::pr_finish(), which does these exact steps.

The closest I can seem to get is:

  • >GitHub Pull Requests: Checkout Default Branch
  • With "githubPullRequests.postDone": "checkoutDefaultBranchAndPull"

(I'm not even 100% sure that a pull occurs when you use the command, but I think it does)

This accomplishes the first 2 bullets, but not the 3rd, so I have to go delete feature/foo myself.

I think I am missing something like

>GitHub Pull Requests: Forget Pull Request

Which has the purpose of:

  • Checkout the default branch (subject to githubPullRequests.postDone so I can make it also pull)
  • Delete the current branch you switched from

I would use this all the time if it existed as a way to cleanup after a merge via the GitHub UI.


I am aware of "githubPullRequests.deleteBranchAfterMerge": true. I do not believe that solves my problem because I almost exclusively merge via the GitHub UI, and it only works if I merge via the Extension UI.


It's also worth noting that if I checkout someone else's PR to perform a review, then it mostly works as I expect.

  • Checkout colleague PR feature/bar using the GitHub Pull Request extension
  • Leave my review
  • Click Checkout Default Branch (with "githubPullRequests.postDone": "checkoutDefaultBranchAndPull" set)
  • This auto deletes feature/bar for me

This workflow is quite nice! I want something similar for finishing off my own PRs.

Here is a video of me doing that workflow, which I do like:

https://github.com/user-attachments/assets/ff6a07e6-7ae5-4d8b-a447-91d51c96b597

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先跟踪现有的 Checkout Default Branch 命令以及 githubPullRequests.postDone 和 githubPullRequests.deleteBranchAfterMerge 设置。当已合并的 pull request 能够返回默认分支、应用已配置的 pull 行为,并删除之前检出的分支时,此功能即完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
git, github, typescript
领域
developer-experience, tooling
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
冷清
描述清晰度
基本清楚
新手友好度
58/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。