source

꺼내기 요청 vs 병합 요청

manysource 2023. 4. 10. 22:02

꺼내기 요청 vs 병합 요청

풀 요구와 머지 요구의 차이점은 무엇입니까?

GitHub에서는 Pull Request이고 GitLab에서는 Merge Request입니다.그럼, 이 두 가지 사이에 차이가 있을까요?

GitLab의 "Merge Request" 기능은 GitHub의 "Pull Request" 기능과 동일합니다.둘 다 다른 브랜치 또는 포크의 변경을 브랜치로 끌어당겨 기존 코드와 결합하는 방법입니다.코드 확인 및 변경 관리에 유용한 도구입니다.

GitLab의 기사에서는 기능 이름 지정의 차이점에 대해 설명합니다.

Git 관리 어플리케이션에서 Merge 또는 Pull 요청이 생성되어 할당된 사람에게 2개의 브랜치를 Merge하도록 요청한다.GitHub 나 Bitbucket 등의 툴은 첫 번째 수동 조작이 기능 브랜치를 풀하기 때문에 이름 풀 요구를 선택합니다.GitLab이나 Gitorius 등의 툴은 이름 병합 요청을 선택합니다.이는 할당자가 최종적으로 요구하는 작업이기 때문입니다.이 기사에서는 이들을 머지 요구라고 부릅니다.

"merge request"를 명령어와 혼동하지 마십시오.또한 "pull request"를 명령어와 혼동해서는 안 됩니다.둘다요.git명령어는 풀 요구와 머지 요구 모두에서 백그라운드에서 사용되지만 머지/풀 요구는 이들 두 명령어보다 훨씬 더 광범위한 토픽을 참조합니다.

제 관점에서는, 같은 액티비티를 의미하지만, 다른 관점에서는 다음과 같습니다.

생각해 보세요, Alice는 Bob의 저장소 B에서 분기된 저장소 A에서 몇 가지 커밋을 합니다.

Alice가 자신의 변경을 B로 "합병"하고 싶을 때는 실제로 Bob이 A에서 이러한 변경을 "풀"하기를 원합니다.

따라서 Alice의 관점에서 이것은 "합병 요청"인 반면 Bob은 "풀 요청"으로 봅니다.

같은 특징입니다.

Git 관리 어플리케이션에서 Merge 또는 Pull 요청이 생성되어 할당된 사람에게 2개의 브랜치를 Merge하도록 요청한다.GitHub 나 Bitbucket 등의 툴은 첫 번째 수동 조작이 기능 브랜치를 풀하기 때문에 이름 풀 요구를 선택합니다.GitLab이나 Gitorius 등의 툴은 이름 병합 요청을 선택합니다.이는 할당자가 최종적으로 요구하는 작업이기 때문입니다.이 기사에서는 이들을 머지 요구라고 부릅니다.

-- https://about.gitlab.com/2014/09/29/gitlab-flow/

갈등 관리 측면에서는 미묘한 차이가 있다.경합이 발생했을 경우, Github의 풀 요구에 의해서, 행선지 브랜치로 Marge 커밋이 됩니다.Gitlab에서는 충돌이 발견되면 소스 브랜치의 머지 커밋에 변경이 가해진다.

https://docs.gitlab.com/ee/user/project/merge_requests/resolve_conflicts.html 를 참조해 주세요.

「GitLab은, 타겟 브랜치에 자동적으로 Marge 되지 않는 Marge 커밋을 소스 브랜치에 작성하는 것으로, 경합을 해결합니다.이를 통해 변경 내용을 병합하기 전에 병합 커밋을 확인하고 테스트할 수 있으므로 의도하지 않은 변경이 대상 브랜치에 들어오거나 빌드를 중단하는 것을 방지할 수 있습니다."

GitLab 12.1(2019년 7월)은 다음과 같은 차이를 도입했다.

"사외비 문제에 대한 병합 요청"

보안 취약점과 같은 기밀 문제를 논의, 계획 및 해결할 때 Git 저장소가 공개되어 있기 때문에 오픈 소스 프로젝트가 효율적으로 유지되는 것은 특히 어려울 수 있습니다.

https://about.gitlab.com/images/12_1/mr-confidential.png

12.1부터는 프로젝트의 개인 포크에 병합 요청을 생성하는 데 도움이 되는 기밀 병합 요청 생성 버튼을 사용하여 공용 프로젝트의 기밀 문제를 간소화된 워크플로 내에서 해결할 수 있습니다.

58583호의 "기밀 문제"를 참조하십시오.

GitHub에도 비슷한 기능이 있지만, "유지관리자 보안 조언"이라고 불리는 특별한 개인 포크의 생성과 관련이 있습니다.


GitLab 13.5 (2020년 10월)기존에 GitHub에서 사용 가능했던 리뷰어를 추가한다.

이전 답변에서 언급한 바와 같이, 두 가지 모두 거의 같은 목적을 가지고 있습니다.개인적으로 git rebase와 merge request(gitlab처럼)를 좋아합니다.이는 리뷰어/유지자의 부담을 덜어주므로 병합 요청을 추가할 때 기능 브랜치가 기능 브랜치를 작성한 후 메인 브랜치에서 수행된 최신 커밋을 모두 포함하도록 합니다.다음은 rebase에 대해 자세히 설명하는 매우 유용한 기사입니다.https://git-scm.com/book/en/v2/Git-Branching-Rebasing

언급URL : https://stackoverflow.com/questions/22199432/pull-request-vs-merge-request