[Programming 101] What is Forking?

Seyeon huh·2023년 1월 14일
0

Programming101

목록 보기
1/2
post-thumbnail

Fork

GitHub 각 프로젝트 페이지에서 About 부분 아래 Fork라는 텍스트버튼을 찾아볼 수 있다.

포크? 찔러본다고? 그게 뭔소리야 이 프로젝트가 마음에 든다는 건가? 생각했었는데, 정확히 무얼 의미하는지 한번 찾아보기로 했다.

구글에 What is forking in programming? 이라고 검색하면 위키피디아에서는 이렇게 설명한다.

In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software.

Forking이란 하나의 패키지로 부터 소스코드를 받아와 기존의 것과 분리되는 독립적인 새로운 패키지를 시작하는 것이다
단, 주의할 점은 forking하고자하는 프로젝트의 license를 확인할 것!

Branch vs Fork

그렇다면 과연 브랜치를 새로 따는 것과 포크하는 것의 차이는 무엇일까?

내가 이해한 바로는 브랜치를 새로 따는 것은 오리지널 프로젝트에서 새로운 갈래로 나와 거기서부터 개발하고 필요시 메인 브랜치로 PR, merge 하는 것이다. Forking은 오리지널 프로젝트를 그대로 가져와 거기서부터 새롭게 개발을 시작하는 것으로 오리지널 프로젝트와 분리되는 것이다.

오리지널 프로젝트의 소스코드를 활용해 무엇을 하고싶은지에 따라 branch와 fork 중 더 합당한 것을 선택하면 된다.

profile
Huh!rray!

0개의 댓글