我收到了拉取请求,我想通过命令行批准它(即不使用浏览器登录 Github 并使用 GUI)。此 PR 对分支进行更改。
这是我尝试过的:
# First I go to the correct branch:
git checkout branch-to-be-modified
# Then I pull the changes made by the person who's contributing with the PR:
git pull https://github.com/my-contributor/code.git his-branch
# I then run `git status`, but it shows me nothing
git status
# Outputs:
# > On branch branch-to-be-modified
# > nothing to commit, working tree clean
如何通过命令行接受Github拉取请求?
我还需要做什么,我应该
git push origin branch-to-be-modified
吗?
这应该很容易,但我找不到此信息。非常感谢您提供任何线索
您应该要求 GitHub 合并所述拉取请求:这将是“接受”它。
gh
从命令行执行此操作
gh pr merge
gh pr merge <number>
但这假设您首先登录(例如,使用像您的 PAT 这样的令牌:
gh auth login --with-token < mytoken.txt
)。但是如果您想接受而不合并,即在有多个审稿人的情况下怎么办?
gh pr review
:
# approve the pull request of the current branch
gh pr review --approve
这样,您就可以批准拉取请求,表明您对更改感到满意,同时仍然可以让其他审阅者在合并之前提供反馈。
而且,如果您是 GitHub 上团队项目的一部分,您可能设置了受保护的分支,在合并拉取请求之前需要进行多次审查。
在此类设置中,可以使用 GitHub CLI 完成单独批准,如上所示,并且拉取请求只有在收到所需数量的批准后才能合并。
Pull Requests 是 Github 特有的功能。 Git 独立于 Github,您在 Git 中找不到任何 Github 特定的功能。如果您想在没有网络浏览器的情况下接受 PR,则需要寻找 Github 工具,例如 Github Desktop 或 Github CLI。这些都是围绕 Github REST API 和 Github GraphQL API 的包装。
您可以通过像任何其他远程分支一样对待 PR 分支来手动合并 PR 分支,并且 PR 应该识别出其分支已被合并。然而,拉取请求不仅仅是合并,所以你可能想使用 Github 工具。
每个项目都可以以不同的方式合并其拉取请求:合并、压缩合并或变基。您必须模拟项目的合并策略。幸运的是,Git PR 会告诉您如何执行此操作:在“合并拉取请求”按钮旁边有一个“查看命令行说明”的链接。
总体思路是:
获取远程分支。
使用 Forks。
您可以拥有 2 个遥控器,fork
。从那里您可以从 fork 分支合并到您的分支中。然后提交并推送到原点。通常不建议盲目批准带有
gh pr view
) 以及 PR (
gh pr diff
) 的差异并交互式确认 y/n,可以使用
gh
的此别名 (GitHub) CLI):
gh alias set --shell approve '!gh pr view $1 && gh pr diff $1 && echo "Approve PR? (y/N)" && read -r CONFIRM && [ "$CONFIRM" = "y" ] && gh pr review --approve $1' --clobber
终端使用:gh approve <url here>
此处的文档页面:https://cli.github.com/manual/gh_pr_review