gpt4 book ai didi

git - 为什么在 merge pull 请求时需要将开发分支 merge 到功能分支?

转载 作者:行者123 更新时间:2023-12-04 01:00:26 28 4
gpt4 key购买 nike

我想将来自我的功能分支的 GitHub pull 请求 merge 到开发中。以下是来自 GitHub 的通过命令行执行此操作的说明:

第一步:

git fetch origin
git checkout -b feature-branch origin/feature-branch
git merge development

第 2 步:
git checkout development
git merge --no-ff feature-branch
git push origin development

为什么是 git merge development必需的?

最佳答案

这里的问题是,从您最初从 development 创建功能分支开始。 ,您和其他人可能都已对该功能做出了 promise 和 development分行,分别。一个图表在这里会有所帮助:

development: -- A -- B -- C -- D
\
feature: E -- F

在这里,您从 development 分支在 B提交,从那以后你做了一个 F提交,其他人(甚至你也可能)已经提交 CD提交到远程 development分支。您的两个步骤中的第一个是 merge development进入您的功能分支:
development: -- A -- B -- C -- D
\ \
feature: E -- F -- M1

现在你有一个 M1在本地 merge 提交,并且您的分支应该与 C 中远程输入的任何内容完全同步。和 D提交。现在您可以将您的功能分支 merge 到 development ,留给你:
development: -- A -- B -- C -- D -- M2
\ \ /
feature: E -- F -- M1

至于为什么需要这两个步骤,第一步确保您的本地功能分支与远程 development 上发生的任何事情保持同步。因为您最初创建了分支。至少在某些时候,不执行此步骤将意味着 merge 最终会出现一些冲突。 GitHub 检测到这一点,如果您不是最新的,通常会拒绝 merge 。第二步可能是您所期望的,只是将您的功能分支实际 merge 到 development 中。 .

关于git - 为什么在 merge pull 请求时需要将开发分支 merge 到功能分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58638059/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com