Git -将未合并的pull请求中的更改显示为未提交的更改



我拥有回购。有人发了一份PR,我还没有合并。我想看到与VSCode中的master分支相比,该PR的所有更改。这类似于您做了一些更改,但这些更改处于未提交状态)。我该怎么做呢?

我跟着我怎么能检查出GitHub拉请求与git?但没有找到我需要的答案。例如,命令git pull origin pull/939/head将合并更改,而不是显示为未提交的更改。

成功了

所以,我的完整流程是:
  1. check PR (100) in 'detached HEAD' state
    git fetch origin pull/100/head && git checkout FETCH_HEAD

  2. 显示为未提交的更改
    git reset main

  3. 切换回主分支并携带这些更改
    git switch -


另外,制作了一个方便的powershell函数

<# USE CASE
> gitpr
gives list of active PRs
> gitpr 12
checks out PR #12
#>
function gitpr {
param(
[Parameter(ValueFromRemainingArguments = $true)]
[String[]] $prNum
)

if($prNum){
git fetch origin pull/"$prNum"/head && git checkout FETCH_HEAD
git reset main 
git switch -
echo "checked out PR: "$prNum""
}else{
gh pr list
}
}

首先,您必须获取PR
git fetch origin pull/<pr_id>/head:new_branch
现在您在new_branch
git diff new_branch ^HEAD | git apply -

中进行了PR更改
  • git diff <another-branch> ^HEAD这将打印new_branch和当前分支(HEAD)之间变化的差异。
  • git apply -,这将应用这些更改到当前索引。

最新更新