git 如何在本地应用合并请求?

dluptydi  于 2023-03-16  发布在  Git
关注(0)|答案(4)|浏览(239)

我想了解如何在本地回购中应用拉式请求。
我有以下分支机构:master、production和我当前正在处理的特性的特性分支。
假设我完成了我的特性编码,然后我在GitHub上打开一个PullRequest,也许在它投入生产之前讨论/回顾我的代码。
下一步是将该特性分支合并到生产中(也就是关闭PullRequest)。
如何将这些更改应用到本地存储库?我是否必须手动将本地功能分支合并到本地生产分支中,或者我是否应该直接拉取服务器生产分支并删除本地功能分支?
做这件事的正确方法是什么?

ua4mk5z4

ua4mk5z41#

您已经基本描述了如何执行此操作的方法。通常,如果您已经合并了拉式请求,则只需在您的生产分支上调用git pull,这通常是首选选项IMHO。
如果您想在合并PR之前在本地测试特性分支,那么显然您需要调用git merge并将本地feature-branch合并到您的本地master中。

nle07wnf

nle07wnf2#

没有“正确的方法”,因为这主要取决于你和你同事的工作流程。
然而,通常情况下,当您的PR将合并到master中时,如果您的策略确实是(像在许多地方一样)删除现已过时的特性分支,则获取master并拉取以更新它,然后删除您的本地特性

git checkout master
git pull
git branch -d feature-branch
bt1cpqcv

bt1cpqcv3#

打开一个拉取请求的步骤是- -你首先把你的特性分支推到远程,然后你创建一个PR(拉取请求),选择它作为源,目标将是你例子中的生产分支. -这意味着你的特性分支(在你的本地git repo中)已经和远程的同步了-一旦你合并了PR;Github会把你的特性分支合并到生产分支中。
更新本地git存储库;切换到生产分支并从远程执行拉取-

git checkout <production branch>
git pull origin <production branch>
xtfmy6hx

xtfmy6hx4#

这里只提供一个git命令执行此操作的具体示例(在一个典型的场景中)。
在本地存储库中,检查要应用远程PR的分支。

cd /me/src/my-repo
git checkout a

从Github中获取PR,并将其合并到一个新分支中,这将在本地存储库中创建新分支,但不会将其 checkout 假设它是PR #1234,你想创建新的分支b如果你经常使用github repo,你可能已经为它定义了一个remote,比如'upstream',如果没有,您可以指定完整的URL:

git fetch upstream pull/1234/head:b

git fetch https://github.com/<them>/<their-repo> pull/1234/head:b

最后,在您空闲的时候,检查一下新的分支并使用它。

git checkout b

相关问题