为了更好地理解这些操作,我想知道github或gitlab如何准确地合并这些请求。挤压,重新设定基准,合并...时,将详细执行哪些git命令?
PR和MR之间没有区别。术语“拉取请求”是对例如在内核开发中如何使用git的引用。假设您是一名开发人员,而我是维护人员。为了使您能够合并更改,您将生成一个diff补丁并将其通过电子邮件发送给我,以便我可以对其进行审核,并在我认为合适的情况下请求从您的存储库中提取这些更改。因此“拉请求”,和git命令git pull-request
。
合并请求是对该过程的重新定义。这是由于这样的事实,我们并不是真正要求某人从我们的存储库中提取,而是要求我们所做的更改通常是从同一存储库的一个分支合并到developer / master分支中。因此,gitlab将相同的过程称为“合并请求”而不是“拉取请求”。
在这两种情况下,实际执行的命令都取决于所选的选项。gitlab和github都允许挤压,重定基础和合并,并且命令可能几乎完全相同。
我到目前为止从未使用过github,因为我们公司托管了一个gitlab实例,在五分之四的情况下,我使用命令行来做事。也许我们会在几个月后改用github,所以我开始研究这个主题。据我了解,github流程的原理是派生一个项目,并为社区项目提供拉取请求。我只想知道两个分支的实际MERGE操作是否有任何区别。
Git是一个分布式版本控制系统,在合并时它并不关心您是在仓库,远程服务器,克隆还是分支(基本上只是一个克隆)上工作。只要您有共同的历史记录,它的行为就会大致相同。另外,您描述的过程既是“ gitlab进程”,又是“ github进程”。如果您正在处理私人回购协议,则可能不会分叉它们。如果是公开的,可能是的。