반응형
Fork 란?
Fork 는 저장소를 복제하는 것을 의미합니다.
A라는 사람이 개발하던 저장소에 B라는 사람이 협업을 하여 개발을 진행한다고 가정을 해보겠습니다.
그렇다면 A라는 사람의 저장소를 B라는 사람이 $ git clone 을 하여 코드를 수정하고 push를 한다면 혹시 코드에 오류가 있다면 치명적인 오류가 발생할 수 있습니다. 이를 방지하기 위해서 Fork라는 것을 합니다.
원본 프로젝트를 Clone 하는 것이 아니라 그 프로젝트를 Fork 하여 복제된 프로젝트에서 작업을 하고 해당 작업을 원본 프로젝트에 반영해달라고 Merge Request를 보내는 것입니다.
Clone 이란?
Clone은 저장소의 코드를 내 working directory에 복사 하는 것을 의미합니다.
$ git clone {저장소_url}.git
Merge Request 란?
Merge Request는 Github의 Pull Request와 같은 개념인데, GitLab에서는 최종 액션이 Merge이기 때문에 MR이라고 표현합니다.
Fork, Clone, Merge Request의 매커니즘
- 원본 저장소를 Fork 합니다.
- 내 Working Directory로 $ git clone을 합니다.
- 코드를 수정하고 commit을 합니다.
- 원본 저장소가 아닌, Fork한 저장소에 push를 합니다.
- 원본 저장소에 Merge Request를 보냅니다.
Merge Request 보내기
New merge request 버튼을 클릭합니다.
Merge Request를 보낼 브랜치를 선택하고, Target 브랜치를 선택하고 아래 continue 버튼을 클릭합니다.
REFERENCE
Merge Reqeust를 보낼 때, Merge 3가지 정책에 대해서는 해당 포스팅을 참조하시기 바랍니다.
[GitLab] Merge 정책 3가지 이해하기
GitLab의 Merge 3가지 정책에 대해서 배워보겠습니다. Merge Request - Merge 정책 3가지 Merge Commit Merge Commit with semi-linear history Fast-Forward merge 현재 커밋 로그 (가정) 현재 커밋 로그가 위..
iseunghan.tistory.com
반응형