假设我的feature
分支来自develop
分支。我向feature
提交了一些提交,并向我的老板提交了合并到develop
的pull请求。
但是,如果我继续工作,提交和推送到feature
之前,他审查请求,那么,如果他接受原始的拉取请求,所有这些提交会被接受吗?换句话说,拉取请求意味着合并分支的最新版本还是特定的提交?
或者它是否依赖于特定的存储库(gitlab, github等)?如果这在这里很重要的话,我的公司使用azure devops。
在这种情况下,我还想知道拉取请求与git merge
有何不同?
拉请求(也称为合并请求)是将某个分支(在本例中为feature
)合并到另一个分支(在本例中为develop
)的请求。当一个pull request被合并时,特性分支中的所有变更都会被合并到主分支中。
在拉取请求期间,审阅者发现问题并对某些事情留下反馈,这实际上是正常的,然后需要审阅者额外提交。
你可以配置你想要如何合并特性分支。例如,您可以选择让特性分支中的工作只作为一个提交出现,或者您可以选择保留分支的整个历史记录。
在这种情况下,我还想知道拉请求与git合并有什么不同?
pull request是一个做git merge
的请求,但是它允许开发人员对更改提供反馈
Pull-Request只是一个迷你工作流的规范,定义了更改如何到达您的主(例如:Master/develop(等等)分支用一组规则来接受变更并合并它们。它是由维护git的工具支持的,比如github、bitbucket等。此外,这些工具可以定义PR的基本工作流程。例如,您的老板批准了您的PR,并且您推动了一些新的更改,在这种情况下,工具可能会自动删除批准,您的老板将不得不检查您的其他更改并再次批准。
这取决于你想如何处理PR,谁做什么,例如批准,合并。
此外,您可以为您的PR添加进一步的限制,例如,如果PR没有包含来自目标分支的所有更改,则不能合并PR。
您还可以设置如何合并PR,例如fast-forward, -no-ff ..南瓜…这也取决于工具。
因此,您需要检查您使用的工具的功能。
Pull-Request是'git merge',区别在于合并通常是直接在服务器端完成的。