김펭귄 관찰일기
article thumbnail

🐧. fork 해둔 repository 업데이트 하기

 팀프로젝트를 하고 있는데, 내 레포에 만들지 않고 팀장님 레포에 만들어서 현재 팀장님 레포로 푸쉬하고 있는 상황이다. 내 레포로 가져올 수 있는 방법이 없을까 하다가 fork라는 것을 알게 되서 일단 해두긴 했는데.. 문제는 업데이트가 되질 않는다는 것..! 이 경우에 어떻게 업데이트 할 수 있는지 알아볼까 한다.

 


1. git clone으로 당겨오기

 우리가 먼저 해줘야 할 것은 평소처럼 레포 주소를 긁어와서 clone해주는 것이다.

 

 
git clone [repository 주소]

 위의 커맨드로 당겨와주자.

 


2. 원격 저장소에 upstream 추가해주기

 새로운 친구를 만나게 되었다. 기존에 'git remote add origin [repository 주소]' 명령어를 통해 내 컴퓨터에 위치하고 있는 git과 원격으로 이어줬다면, 이 녀석은 upstream이라는 이름으로 이어준다. origin을 연결해줬을 때처럼 이번에는 upstream이라는 녀석을 추가해주면 되는데, 여기서 한 가지 주의해야 할 점이 있다. repository 주소에는 내 repository 주소가 아닌, 본래 파일이 위치하고 있던 repository 주소를 적어줘야 한다.

 

 'git remote -v'으로 현재 내 git과 연결된 원격 저장소들을 확인해보자. 위 사진처럼 나왔다면 성공이다.

 


3. git fetch upstream / git merge upstream/main

 2번까지 잘 따라왔다면 이제 큰 고비는 넘겼다. 기본적인 세팅은 끝났으니, 필요할 때마다 3번부터 진행하면 된다. 다들 'git pull origin main'을 통해 원격 저장소에서 파일들을 당겨온 적이 있을 것이다. git pull이라는 명령어는 git fetch와 git merge, 이 두 개가 합쳐진 것이라는 사실, 알고 계셨나요?

 

 git fetch upstream으로 우리가 upstream으로 등록해둔 원격 저장소에서 파일을 긁어오자.

 

 파일을 쭉쭉 가져오기 시작할텐데 fetch가 끝나면 'git merge upstream/main'으로 merge까지 진행해주자.

 

 자, 우리는 git fetch & merge를 통해 우리가 가져오고 싶은 repository의 최신 정보를 내 git에 넣어두었다. 이제 이 최신 정보를 우리의 github에 올려주기만 하면 끝난다.

 

 평소에 push 하던 것처럼 'git push origin main'으로 github에 보내주면

 

 예쁘게 업데이트 된 것을 확인할 수 있다.

profile

김펭귄 관찰일기

@Penguin.Kim