깃허브, 포크(Fork)와 풀 리퀘스트(Pull Request) 사용법

깃허브, 포크(Fork)와 풀 리퀘스트(Pull Request) 사용법
"협업은 혁신의 원천이다." – 에릭 슈미트 (Eric Schmidt)

1. 포크(Fork)하는 방법 (GitHub 웹 인터페이스)

포크는 다른 사람의 리포지토리를 자신의 GitHub 계정으로 복사하는 작업이에요. 이 작업은 웹 인터페이스에서만 할 수 있습니다.

포크(Fork)하는 방법:

  1. GitHub에서 프로젝트 찾기
    내가 참여하고 싶은 프로젝트가 있으면 GitHub에서 해당 프로젝트의 리포지토리를 열어요.
  2. ‘Fork’ 버튼 클릭
    리포지토리 페이지에서 오른쪽 상단에 있는 ‘Fork’ 버튼을 클릭합니다.
  3. 내 리포지토리 생성
    클릭하면 내 계정 아래에 해당 프로젝트의 복사본이 생성돼요. 이제 내가 이 리포지토리에서 마음대로 수정할 수 있습니다.

2. 로컬에서 포크한 리포지토리 클론(Clone)하기

포크한 리포지토리를 로컬(내 컴퓨터)에 다운로드 받아서 작업을 시작하려면, 클론(Clone) 명령어를 사용해야 해요.

클론(Clone) 명령어 사용법:

  1. GitHub에서 내 포크한 리포지토리 페이지를 열어요.
  2. ‘Code’ 버튼을 클릭하고 HTTPS 링크를 복사합니다.
  3. 클론이 완료되면, 해당 프로젝트 폴더로 이동하여 작업을 시작할 수 있어요.

터미널에서 아래 명령어를 입력하여 로컬로 클론합니다:

git clone https://github.com/내계정명/프로젝트명.git

3. 브랜치 만들기 (새로운 기능 개발)

프로젝트에 새로운 기능을 추가하거나 수정할 때, **브랜치(Branch)**를 만들어서 작업하는 것이 중요해요. 브랜치를 만들면, 메인 코드에 영향을 주지 않으면서 실험을 할 수 있습니다.

브랜치 생성 명령어:

  1. 브랜치를 만든 후, 그 안에서 원하는 작업을 할 수 있습니다.

새로운 브랜치 만들기
원하는 브랜치를 만들어서 작업을 시작합니다. 예를 들어, "feature-login"이라는 브랜치를 만든다고 할 때:

git checkout -b feature-login

먼저, 리포지토리를 최신 상태로 유지하기 위해 git pull origin main 명령어로 메인 브랜치에 있는 최신 변경사항을 가져옵니다.

git pull origin main

4. 수정 사항 커밋(Commit)하기

작업이 끝났다면, 수정한 내용을 커밋(Commit) 해야 해요. 커밋은 내가 수정한 내용을 기록하는 중요한 단계입니다.

커밋(Commit) 명령어 사용법:

  1. 이제 내 작업을 GitHub에 푸시(Push) 할 준비가 됐습니다.

커밋을 할 때는 수정한 내용을 설명을 추가해 주는 것이 좋아요. 예를 들어, 로그인 기능을 추가했다고 할 때:

git commit -m "로그인 기능 추가"

수정한 파일을 추적(add) 한 후 커밋을 해야 합니다.

git add .

5. 변경 사항 푸시(Push)하기

내 로컬 리포지토리에서 작업한 내용을 GitHub에 반영하려면, 푸시(Push) 명령어를 사용해야 해요.

푸시(Push) 명령어 사용법:

  1. 푸시가 완료되면, 내 GitHub 리포지토리에서 해당 브랜치에 변경 사항이 반영됩니다.

먼저, 브랜치 이름을 확인한 후 해당 브랜치로 푸시합니다. 예를 들어, "feature-login" 브랜치로 푸시하는 경우:

git push origin feature-login

6. 풀 리퀘스트(Pull Request) 생성하기

이제 내가 작업한 내용이 원본 프로젝트에 반영될 수 있도록 풀 리퀘스트(Pull Request)를 보내야 합니다. GitHub에서 쉽게 할 수 있어요.

풀 리퀘스트 생성 방법:

  1. GitHub에서 내 리포지토리 페이지로 이동합니다.
  2. ‘New Pull Request’ 버튼을 클릭합니다.
  3. 내가 작업한 브랜치와 원본 프로젝트의 메인 브랜치를 비교합니다.
  4. 수정 사항을 확인한 후, ‘Create Pull Request’를 클릭합니다.

7. 실수한 풀 리퀘스트(Pull Request) 처리하기

만약 내 풀 리퀘스트에 실수가 있었다면 어떻게 처리할까요?

풀 리퀘스트 수정하는 방법:

  1. 수정한 후 다시 푸시(Push)
    실수를 발견하고 코드를 수정한 후, 다시 커밋하고 푸시하면 풀 리퀘스트가 자동으로 업데이트됩니다.
  2. 풀 리퀘스트 닫기
    만약 해당 풀 리퀘스트를 아예 취소하고 싶다면, GitHub에서 ‘Close’ 버튼을 클릭하여 풀 리퀘스트를 종료할 수 있어요.

정리: 포크와 풀 리퀘스트로 협업 완벽하게 하기!

포크와 풀 리퀘스트는 협업을 원활하게 만드는 강력한 도구예요. 포크를 통해 프로젝트를 내 계정으로 복사하고, 풀 리퀘스트를 통해 내가 수정한 내용을 원본 프로젝트에 반영할 수 있죠. 여러 사람이 협업할 때 아주 중요한 기능이니, 꼭 기억하고 사용해보세요! 😎