(10) GitHub - Remote Repository 바뀐 내용-> Local Repository 반영하기

반응형

이전 글에서 로컬 레포지토리에 추가된 내용을 리모트 레포지토리에 전송하는 git push를 사용했다.

이번엔 완전히 그 반대인 경우인데 

만약 리모트 레포지토리에서 새로운 커밋이 추가된 상황이라면??

 

리모트 레포지토리가 오히려 로컬 레포지토리보다 더 최신내용을 갖고 있는 경우가 있을 것이다.

 

한번 그러한 상황을 만들어보자

 

Remote Repository - README.md 수정

 

 깃허브에서 README 파일을 수정해보자

 

▼ 오른쪽 상단 연필모양 클릭 후 아무 내용 추가

오른쪽 상단 커밋 체인지 클릭

 

▼오른쪽 상단에 '커밋 체인지' 클릭하면 이렇게 커밋 메시지를 수정하라고 창이 뜬다

수정한 내용과 관련된 메시지를 작성해보자

 

▼ 커밋 체인지 클릭하면 정상적으로 내용이 바뀌면서 커밋되었다.

 

이렇게 깃허브에서도 직접 커밋을 진행할 수있다.

 

이제 리모트 레포지토리에 새로운 커밋이 추가 되었기 때문에

내 컴퓨터에있는 커밋전 인 로컬 레포지토리의 내용은 그대로일것이다.

 

Git pull

 

 

이제 리모트 레포지토리에 새로 추가된 내용을 내 로컬 레포지토리에 반영하기위해

"git pull" 커멘드를 사용한다.

 

pull은 "잡아당기다" 라는 뜻으로,

여기서는 리모트 레포지토리의 내용을 가져와서 자신의 로컬 레포지토리에 반영 시킨다.

git pull 사용

 

터미널에서 직접 출력해서 확인 해보기위해

vscode는 바로 바뀐걸 볼 수 있지만 git bash 사용한다면 이렇게 확인 해보자

▷ cat README

 

 

방금 추가했던 줄이 잘 보이는 것을 확인 할 수있다.

 

리모트 레포지토리에서 추가한 커밋이 로컬 레포지토리에도 잘 반영이 되었다.

 

Git push, pull 정리

 


로컬 레포지토리의 내용을 리모트 레포지토리에 반영 하고싶으면 "git push"

리모트 레포지토리의 내용을 로컬 레포지토리에 반영 하고 싶으면 "git pull"

 

여기서 리모트 레포지토리를 왜 쓰는지 한번 생각해볼 필요가 있다.

로컬 레포지토리와 똑같은 내용의 리모트 레포지토리를 만드는 건  크게 두가지로 나뉜다

 

안정성 - 예를 들어 컴퓨터를 잃어버리거나 문제가 생겨 로컬 레포지토리가 사라졌다고 가정한다면

복원할 방법이없기에 리모트 레포지토리가 있으면 그대로 가져와 사용 할수있는 안정성이 보장된다.

 

협업 가능 - push와 pull을 서로 사용함에 따라 다른 개발자가 본인의 리모트 레포지토리를 자기 컴퓨터로 가져와서

새로운 커밋을 추가하고 다시 리모트 레포지토리에 push를 했다 가정해보면 새로워진 리모트 레포지토리 내용을

다시 본인이 pull로 가져온다. 또 다시 커밋을 하고 다시 리모트 레포지토리로 push 한다고 생각하면

이런식으로 리모트 레포지토리를 가운데 두고 다른 개발자들과 협업이 가능하다.

 

이렇게 리모트 레포지토리를 만드는건 안정성 확보와 협업을 할 수있다는 중요한 의미를 가진다.

 

반응형