[Git] 협업하기 fork, clone, pull request, fetch, upstream

구민지·2023년 11월 13일
0

언제나 긴장되는 깃 협업..! 혼자 작업할때 깃 사용 중 문제가 생겨도 어찌저찌 해결할 수 있는데, 다른 사람들이랑 함께하는 작업에서 깃 사용은 여전히 조금은 긴장된다.😂 (실수로 다른 팀원들에게 피해를 줄 수 있으니,,,🥲)

✨ 오늘 글에서 다룰 내용은 전체적으로 아래와 같다!

  1. 원본 저장소(=공동 작업공간)에서 나의 저장소로 fork 해오기
  2. fork 해온 작업물 clone
  3. 로컬에 upstream 등록하기 (=원본 저장소 등록), fetch
  4. 로컬에서 작업을 끝낸 작업물 origin(=나의 저장소)으로 commit & push
  5. 내 저장소에서 원본저장소로 PR 날리기

1. 원본 저장소에서 나의 저장소로 fork 해오기


외부 저장소(공동 작업공간)에서 fork 버튼을 눌러 내 저장소로 원본 프로젝트의 소스, commit 내역 등을 그대로 복사하여 내 저장소로 가져온다.

내 저장소에 이렇게 forked from 으로 어떤 외부 저장소에서 fork해왔는지 표시된 레포지토리가 생성된다.
fork 해온 저장소는 나의 소유이기 때문에 마음껏 코드도 수정하고 수정사항이 원본 소스에 대해 무분별한 수정을 막을 수 있다!

2. fork 해온 작업물 clone

git clone [Fork해온 나의 저장소 Repository] [생성 폴더명]

내 로컬 컴퓨터로 작업물을 받아오기 위해 위의 명령어로 fork해온 저장소의 작업물을 복사한다.
작업물을 받아올 폴더명을 입력하면 해당 폴더가 생성되고 저장소의 프로젝트 소스들이 복사되어있는 걸 확인할 수 있다.

3. upstream 등록 (원본 저장소 등록) , fetch

git remote -v


내 로컬 환경에서 위의 명령어로 연결된 원격저장소를 확인한다. 현재 fork 해온 나의 저장소를 origin이라는 별칭으로 등록되어 있는 것을 확인할 수 있다.
이제 여기에 추가로 원본 저장소를 upstream이라는 별칭으로 등록한다. (upstream 말고 다른 별칭 사용해도 되는데 일반적으로 upstream을 사용한다고 알고있다)

git remote add upstream [원본 저장소 URL]

위의 명령어를 실행한 후 다시 git remote -v로 원격저장소의 상태를 확인해본다.

이전에 origin만 등록되어 있던 것에서 추가로 upstream이 추가된걸 확인할 수 있다.

git fetch upstream

위의 명령어로 원본 저장소의 변경사항을 확인해준다.

4. 로컬에서 작업을 끝낸 작업물 origin으로 commit & push

git add .
git commit -m "fisrt commit"
git push origin main

로컬에서 작업이 끝났다면 origin으로 등록해놓은 나의 저장소에 commit & push 해준다.

5. 내 저장소에서 원본 저장소로 PR 날리기


깃허브의 나의 저장소에 들어가서 pull request 탭을 클릭한 후 new pull request 버튼을 클릭한다.

그럼 이렇게 원본 저장소에 pr을 날릴 수 있습니다! 원본 브랜치의 어떤 브랜치인지, 잘 확인해서 Able to Merge라는 문구가 뜨는 걸 확인하고 create pull request를 클릭한다.


끗! 이제 깃허브 협업도 점점 익숙해지고 있다..!

0개의 댓글