【GitHub】GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?
GitHub 的 Pull Request 和 GitLab 的 Merge Request 有區別嗎?
在 GitHub 上混久了,對 Pull Request 就……
在 GitLab 上混久了,對 Merge Request 就……
然而它們之間有不同嗎?為什么要用兩個不同的名稱?
要追溯這兩個名稱,需要追溯 GitHub 和 GitLab 引以為傲的 git 工作流。這也是本文參考鏈接中一定要附上 GitLab 工作流的重要原因。
眾所周知 git 是一個分布式的版本管理系統,但為了團隊成員之間能夠高效地協作,必須有至少一個服務器用于給團隊所有成員之間同步代碼。而這一點又有點類似于集中式的版本管理。
對于項目的核心成員,集中式版本管理和分布式版本管理貢獻代碼的方式并沒有多大差異(這里不要糾結個人使用層面的差異,只談論為倉庫貢獻代碼的方式)。但對于非項目核心成員來說,集中式的版本管理就非常痛苦了,因為他們找不到方式來提交自己的代碼(請忽略低效的發郵件補丁吧……)。然而分布式版本管理則解決了這個問題:非項目核心成員可以克隆倉庫,這樣就得到了一個自己具有完全讀寫權限的倉庫,貢獻的代碼可以完全同步到這個具有完全讀寫權限的倉庫中。
為了讓非核心成員提交的代碼被核心成員接納,非核心成員會向核心成員提出“申請(Request)”去自己的倉庫指定分支中“拉取(pull)”最新的修改,這便是 Pull Request 的來源。
那么 Merge Request 又是什么呢?GitLab 對此的解釋是——一樣的,沒有區別。Merge 只是在強調最后的那個動作“合并(Merge)”。
GitHub、Bitbucket 和碼云(Gitee.com)選擇 Pull Request 作為這項功能的名稱。
GitLab 和 Gitorious 選擇 Merge Request 作為這項功能的名稱。
參考:StackOverflow - Pull request vs Merge request
總結
以上是生活随笔為你收集整理的【GitHub】GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SpringBoot】SpringBo
- 下一篇: 【GitHub】如何合并分支?