我想了解如何在本地回购中应用拉式请求。我有以下分支机构:master、production和我当前正在处理的特性的特性分支。假设我完成了我的特性编码,然后我在GitHub上打开一个PullRequest,也许在它投入生产之前讨论/回顾我的代码。下一步是将该特性分支合并到生产中(也就是关闭PullRequest)。如何将这些更改应用到本地存储库?我是否必须手动将本地功能分支合并到本地生产分支中,或者我是否应该直接拉取服务器生产分支并删除本地功能分支?做这件事的正确方法是什么?
ua4mk5z41#
您已经基本描述了如何执行此操作的方法。通常,如果您已经合并了拉式请求,则只需在您的生产分支上调用git pull,这通常是首选选项IMHO。如果您想在合并PR之前在本地测试特性分支,那么显然您需要调用git merge并将本地feature-branch合并到您的本地master中。
git pull
git merge
feature-branch
master
nle07wnf2#
没有“正确的方法”,因为这主要取决于你和你同事的工作流程。然而,通常情况下,当您的PR将合并到master中时,如果您的策略确实是(像在许多地方一样)删除现已过时的特性分支,则获取master并拉取以更新它,然后删除您的本地特性
git checkout master git pull git branch -d feature-branch
bt1cpqcv3#
打开一个拉取请求的步骤是- -你首先把你的特性分支推到远程,然后你创建一个PR(拉取请求),选择它作为源,目标将是你例子中的生产分支. -这意味着你的特性分支(在你的本地git repo中)已经和远程的同步了-一旦你合并了PR;Github会把你的特性分支合并到生产分支中。更新本地git存储库;切换到生产分支并从远程执行拉取-
git checkout <production branch> git pull origin <production branch>
xtfmy6hx4#
这里只提供一个git命令执行此操作的具体示例(在一个典型的场景中)。在本地存储库中,检查要应用远程PR的分支。
cd /me/src/my-repo git checkout a
从Github中获取PR,并将其合并到一个新分支中,这将在本地存储库中创建新分支,但不会将其 checkout 假设它是PR #1234,你想创建新的分支b如果你经常使用github repo,你可能已经为它定义了一个remote,比如'upstream',如果没有,您可以指定完整的URL:
#1234
b
git fetch upstream pull/1234/head:b
或
git fetch https://github.com/<them>/<their-repo> pull/1234/head:b
最后,在您空闲的时候,检查一下新的分支并使用它。
git checkout b
4条答案
按热度按时间ua4mk5z41#
您已经基本描述了如何执行此操作的方法。通常,如果您已经合并了拉式请求,则只需在您的生产分支上调用
git pull
,这通常是首选选项IMHO。如果您想在合并PR之前在本地测试特性分支,那么显然您需要调用
git merge
并将本地feature-branch
合并到您的本地master
中。nle07wnf2#
没有“正确的方法”,因为这主要取决于你和你同事的工作流程。
然而,通常情况下,当您的PR将合并到
master
中时,如果您的策略确实是(像在许多地方一样)删除现已过时的特性分支,则获取master并拉取以更新它,然后删除您的本地特性bt1cpqcv3#
打开一个拉取请求的步骤是- -你首先把你的特性分支推到远程,然后你创建一个PR(拉取请求),选择它作为源,目标将是你例子中的生产分支. -这意味着你的特性分支(在你的本地git repo中)已经和远程的同步了-一旦你合并了PR;Github会把你的特性分支合并到生产分支中。
更新本地git存储库;切换到生产分支并从远程执行拉取-
xtfmy6hx4#
这里只提供一个git命令执行此操作的具体示例(在一个典型的场景中)。
在本地存储库中,检查要应用远程PR的分支。
从Github中获取PR,并将其合并到一个新分支中,这将在本地存储库中创建新分支,但不会将其 checkout 假设它是PR
#1234
,你想创建新的分支b
如果你经常使用github repo,你可能已经为它定义了一个remote,比如'upstream',如果没有,您可以指定完整的URL:或
最后,在您空闲的时候,检查一下新的分支并使用它。