Sad Puppy 3 [Git] 원본 저장소 원격 추가하기 :: 개발자 아지트

문제 상황: 원격저장소에 브랜치 하나 팟는데 포크딴 저장소에서는 해당 브랜치가 git pull을 해도, git fetch를 해도 안보임

 

해결을 위한 방법: 

 

개념:
포크된 저장소는 원본 저장소의 복사본

따라서 내 컴퓨터에서 직접 적인 연결은 포크된 저장소에 돼있음

따라서 새로 생성된 브랜치를 보려면 추가작업이 필요함. 

 

원본 저장소를 원격으로 추가해야함 

그 후 원본 저장소에서 fetch

그후 브랜치 확인과 체크아웃을 해야함


[해결 과정]

 

1. 원본 저장소를 원격으로 추가함. 

먼저, 원본 저장소를 upstream이라는 이름으로 원격 설정에 추가한다. 
이때 <original-repo-url>은 원본 저장소의 URL이다.

git remote add upstream <original-repo-url>
 

2. 원본 저장소로부터 fetch

upstream 원격 저장소로부터 최신 변경 사항을 가져온다. 

git fetch upstream
 

이 명령어는 원본 저장소의 모든 브랜치를 로컬 저장소로 가져오는 명령어이다. 

 

3. 새로운 브랜치 확인

원본 저장소에서 가져온 브랜치를 확인한다.

git branch -r
 

이 명령어는 모든 원격 브랜치를 보여준다.

 

여기서 upstream/<branch-name> 형식으로 원본 저장소의 브랜치를 볼 수 있다.

 

4. 새 브랜치 체크아웃

 

새로운 브랜치를 로컬에 체크아웃한다.

git checkout -b <new-branch-name> upstream/<new-branch-name>
 

이렇게 하면 원본 저장소의 새로운 브랜치를 로컬에 체크아웃할 수 있다. 

 

5. 변경 사항 포크된 저장소에 반영하기

필요하다면, 포크된 저장소에 변경 사항을 반영하기 위해 push할 수 있다.

git push origin <new-branch-name>

포크따온 원본 브랜치에 풀리퀘스트 하는 방법은? 

 

  1. 포크된 저장소에 변경 사항 푸시
     
    git add . git commit -m "설명 추가" git push origin <branch-name>
     
    이 명령어를 통해 <branch-name> 브랜치에 변경 사항이 반영된다.

  2. 먼저 포크된 저장소의 브랜치에서 필요한 모든 변경 사항을 완료하고 커밋한 후, 해당 브랜치를 포크된 저장소에 푸시한다.
  3. GitHub에 로그인하여 포크된 저장소로 이동한다.
  4. 웹 브라우저에서 GitHub에 로그인한 후, 포크된 저장소로 이동한다.
  5. New Pull Request 버튼 클릭
    • 포크된 저장소의 GitHub 페이지에서 "Pull Requests" 탭을 클릭한다.
    • "New Pull Request" 버튼을 클릭한다.
  6. 브랜치 비교 설정
    • Base Repository 설정: 원본 저장소와 그 안의 병합을 원하는 브랜치를 선택합니다. 일반적으로 main이나 develop 브랜치가 됩니다.
    • Head Repository 설정: 포크된 저장소와 그 안의 변경 사항이 있는 브랜치를 선택한다.
    GitHub는 기본적으로 포크된 저장소의 변경 사항을 원본 저장소의 브랜치에 비교하는 UI를 제공한다.

  7. 변경 사항 검토
    • 비교 화면에서 변경된 파일 목록과 커밋을 검토할 수 있다.
    • 모든 것이 올바른지 확인한다.
  8. Pull Request 제목과 설명 작성
    • Pull Request의 제목과 설명을 작성하여 변경 사항의 내용을 명확히 설명한다. 이때 변경의 이유, 수정한 내용, 테스트한 부분 등을 상세히 기술하면 좋다.
  9. 리뷰어 및 라벨 설정 (선택 사항)
    • 필요한 경우 리뷰어를 지정하여 검토를 요청할 수 있다.
    • 라벨이나 마일스톤을 설정하여 Pull Request의 성격을 명확히 할 수 있다.
  10. Create Pull Request 버튼 클릭
  11. 모든 설정이 완료되면 "Create Pull Request" 버튼을 클릭하여 Pull Request를 생성한다.

Pull Request 생성 후

  • 코드 리뷰: 원본 저장소의 관리자는 Pull Request를 검토하고 피드백을 줄 수 있다.
  • 수정 및 추가 커밋: 피드백이 있을 경우 로컬에서 수정을 진행한 후, 동일한 브랜치에 추가 커밋을 푸시하면 Pull Request에 자동으로 반영된다.
  • 병합: 모든 리뷰와 수정이 완료되면 원본 저장소 관리자가 Pull Request를 병합한다.

+ Recent posts