Git. fork한 내 원격저장소 최신으로 업데이트하기

2021. 4. 18. 17:25Git

1. Fork


public으로 공개된 다른 사용자의 저장소를 나의 레포지토리로 가져오는 것을 의미한다. 

 

 

상대방의 레포지토리에 들어간 후, 오른쪽 상단에서 fork라는 칸을 클릭해서 내 레포지토리로 가져오면 된다. 

 

 

2. Pull Request


pull request란, master branch에 새로운 commit을 merge하기 위해서 담당자에게 승인을 요청하는 것이라 생각하면

된다. 만약 주가 되는 branch가 master라면 별도의 branch를 파서 원격 레포지토리에 push하면 된다.

그러고서 다시 원격 레포지토리로 가면 qull request칸이 생성되는 것을 볼 수 있다. 

pull request를 클릭하고 추가정보를 기입하면 pull request이 완료되는 것이다. 

 

 

 

3. update


fork를 통해 가져온 레포지토리를 clone하여 로컬저장소에 저장하면 현재 remote 레포지토리는 fork로

가져온 저장소만 있게 된다.

 

 

하지만 담당자가 pull request을 통해 새로운 커밋을 master에 merge했을 때, 원격 저장소 또한 최신의

상태로 유지시켜 줘야한다. 

 

현재 등록된 remote repository는 내가 포크한 레포지토리밖에 없기 때문에 upstream에 업데이트된 내용을

받아올 수 없다. 따라서 upsteam인 본래의 remote repository를 내 로컬저장소에서 추가시켜야 한다. 

 

git remote add upsteam [fork를 해온 본래의 레포지토리 주소] 를 통해서 로컬저장소에 upsteam 레포지토리를

추가한다. (여기서 upstream은 임의로 내가 정한 name이므로 다른 명칭으로 저장해도 상관없다.)

본 레포지토리에 있는 최신사항을 로컬 레포지토리에 업데이트 시키기 위해서 fetch를 적용한다.

(여기서 upsteam은 본 레포지토리의 브랜치를 의미한다. 반드시 본 레포지토리의 내용을 업데이트 적용해야한다. )

이후 upsteam/main의 내용을 현재 로컬 브랜치에 merge하게 되면 본 레포지토리에 있는 내용들이 모두 로컬

레포지토에 업데이트 된다.