在拉取请求和批准之间提交会发生什么
What happens to commits between the pull the request and approval
假设我的 feature
分支来自 develop
分支。我对 feature
进行了一些提交,并向我的老板提交了拉取请求以合并到 develop
.
但是如果我在他审查请求之前继续工作、提交并推送到 feature
,那么如果他接受原始拉取请求,所有这些提交是否会被接受?换句话说,拉取请求是为了合并最新版本的分支还是特定的提交?
或者它是否依赖于特定的存储库(gitlab、github 等)?如果这在这里很重要,我的公司使用 azure devops。
在这种情况下,我还想知道拉取请求与 git merge
有何不同?
拉取请求(也称为合并请求)是将某个分支(在本例中为 feature
)合并到另一个分支(在本例中为 develop
)的请求。合并拉取请求时,功能分支中的所有更改都会合并到主分支中。
在拉取请求期间,审阅者发现问题并就某些事情留下反馈实际上是正常的,然后需要审阅者的额外提交。
您可以配置如何合并功能分支。例如,您可以选择让功能分支中的工作只显示为一次提交,或者您可以选择保留分支的整个历史记录。
In this context, I would also want to know how is a pull request different from git merge?
拉取请求是执行 git merge
的请求,但它允许开发人员就更改提供反馈。
Pull-Request 只是一个迷你工作流的规范,它定义了更改如何到达您的主(例如 master/develop,等)分支,并使用一组规则来接受更改并合并它们。它由维护 git 的工具支持,例如 github、bitbucket 等...此外,这些工具可以定义 PR 的基本工作流程。例如,你的老板批准了你的 PR,然后你推送了一些新的更改,在这种情况下,该工具可能会自动删除批准,你的老板将不得不检查你的其他更改并再次批准。
这取决于你想如何根据谁做什么来处理 PR,例如批准,合并。
此外,您可以为您的 PR 添加更多限制,例如,如果 PR 未包含目标分支的所有更改,则无法合并。
您还可以设置 PR 必须如何合并,例如快进,-no-ff .. squash ... 这也取决于工具。
因此,您需要检查您使用的工具的功能。
Pull-Request 是 'git merge' 不同之处在于合并通常直接在服务器端完成。
假设我的 feature
分支来自 develop
分支。我对 feature
进行了一些提交,并向我的老板提交了拉取请求以合并到 develop
.
但是如果我在他审查请求之前继续工作、提交并推送到 feature
,那么如果他接受原始拉取请求,所有这些提交是否会被接受?换句话说,拉取请求是为了合并最新版本的分支还是特定的提交?
或者它是否依赖于特定的存储库(gitlab、github 等)?如果这在这里很重要,我的公司使用 azure devops。
在这种情况下,我还想知道拉取请求与 git merge
有何不同?
拉取请求(也称为合并请求)是将某个分支(在本例中为 feature
)合并到另一个分支(在本例中为 develop
)的请求。合并拉取请求时,功能分支中的所有更改都会合并到主分支中。
在拉取请求期间,审阅者发现问题并就某些事情留下反馈实际上是正常的,然后需要审阅者的额外提交。
您可以配置如何合并功能分支。例如,您可以选择让功能分支中的工作只显示为一次提交,或者您可以选择保留分支的整个历史记录。
In this context, I would also want to know how is a pull request different from git merge?
拉取请求是执行 git merge
的请求,但它允许开发人员就更改提供反馈。
Pull-Request 只是一个迷你工作流的规范,它定义了更改如何到达您的主(例如 master/develop,等)分支,并使用一组规则来接受更改并合并它们。它由维护 git 的工具支持,例如 github、bitbucket 等...此外,这些工具可以定义 PR 的基本工作流程。例如,你的老板批准了你的 PR,然后你推送了一些新的更改,在这种情况下,该工具可能会自动删除批准,你的老板将不得不检查你的其他更改并再次批准。
这取决于你想如何根据谁做什么来处理 PR,例如批准,合并。
此外,您可以为您的 PR 添加更多限制,例如,如果 PR 未包含目标分支的所有更改,则无法合并。
您还可以设置 PR 必须如何合并,例如快进,-no-ff .. squash ... 这也取决于工具。
因此,您需要检查您使用的工具的功能。
Pull-Request 是 'git merge' 不同之处在于合并通常直接在服务器端完成。