소프트 스킬 · 기초
fork와 clone의 차이를 설명하고, 오픈소스 기여 시 fork 기반 워크플로우를 설명해주세요.
힌트 · fork는 원격 복사(GitHub), clone은 로컬 복사, upstream 추가, PR로 기여하는 흐름을 설명해보세요.
forkcloneupstreampull request개인 저장소
모범답안
면접관님, fork와 clone은 모두 Git 저장소를 복사하는 명령어이지만, 목적과 대상에 차이가 있습니다.
Fork는 주로 GitHub와 같은 원격 저장소에서 사용되며, 다른 사람의 저장소를 제 계정으로 복사해오는 것을 의미합니다. 마치 개인적인 복사본을 만드는 것과 같습니다. 반면, clone은 원격 저장소 또는 로컬 저장소의 내용을 제 컴퓨터로 가져오는 명령어입니다.
오픈소스 기여 시 fork 기반 워크플로우는 다음과 같습니다. 먼저 기여하고 싶은 오픈소스 프로젝트를 fork하여 제 GitHub 계정에 복사본을 만듭니다. 그 다음, 제 계정의 저장소를 clone하여 로컬 환경에서 작업합니다. 변경 사항을 적용하고 커밋한 후, 제 저장소에 push합니다. 마지막으로, 원본 프로젝트 저장소에 Pull Request(PR)를 보내 변경 사항을 제안합니다. 이때, 원본 저장소를 upstream으로 추가하여 최신 변경 사항을 동기화하는 것이 중요합니다.
git remote add upstream [원본 저장소 URL]
git fetch upstream
git merge upstream/main
이러한 과정을 통해 오픈소스 프로젝트에 안전하고 효율적으로 기여할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.