이전 글에서 로컬 레포지토리에 추가된 내용을 리모트 레포지토리에 전송하는 git push를 사용했다.
이번엔 완전히 그 반대인 경우인데
만약 리모트 레포지토리에서 새로운 커밋이 추가된 상황이라면??
리모트 레포지토리가 오히려 로컬 레포지토리보다 더 최신내용을 갖고 있는 경우가 있을 것이다.
한번 그러한 상황을 만들어보자
Remote Repository - README.md 수정
깃허브에서 README 파일을 수정해보자
▼ 오른쪽 상단 연필모양 클릭 후 아무 내용 추가
▼오른쪽 상단에 '커밋 체인지' 클릭하면 이렇게 커밋 메시지를 수정하라고 창이 뜬다
수정한 내용과 관련된 메시지를 작성해보자
▼ 커밋 체인지 클릭하면 정상적으로 내용이 바뀌면서 커밋되었다.
이렇게 깃허브에서도 직접 커밋을 진행할 수있다.
이제 리모트 레포지토리에 새로운 커밋이 추가 되었기 때문에
내 컴퓨터에있는 커밋전 인 로컬 레포지토리의 내용은 그대로일것이다.
Git pull
이제 리모트 레포지토리에 새로 추가된 내용을 내 로컬 레포지토리에 반영하기위해
"git pull" 커멘드를 사용한다.
pull은 "잡아당기다" 라는 뜻으로,
여기서는 리모트 레포지토리의 내용을 가져와서 자신의 로컬 레포지토리에 반영 시킨다.
터미널에서 직접 출력해서 확인 해보기위해
vscode는 바로 바뀐걸 볼 수 있지만 git bash 사용한다면 이렇게 확인 해보자
▷ cat README
방금 추가했던 줄이 잘 보이는 것을 확인 할 수있다.
리모트 레포지토리에서 추가한 커밋이 로컬 레포지토리에도 잘 반영이 되었다.
Git push, pull 정리
로컬 레포지토리의 내용을 리모트 레포지토리에 반영 하고싶으면 "git push"
리모트 레포지토리의 내용을 로컬 레포지토리에 반영 하고 싶으면 "git pull"
여기서 리모트 레포지토리를 왜 쓰는지 한번 생각해볼 필요가 있다.
로컬 레포지토리와 똑같은 내용의 리모트 레포지토리를 만드는 건 크게 두가지로 나뉜다
① 안정성 - 예를 들어 컴퓨터를 잃어버리거나 문제가 생겨 로컬 레포지토리가 사라졌다고 가정한다면
복원할 방법이없기에 리모트 레포지토리가 있으면 그대로 가져와 사용 할수있는 안정성이 보장된다.
② 협업 가능 - push와 pull을 서로 사용함에 따라 다른 개발자가 본인의 리모트 레포지토리를 자기 컴퓨터로 가져와서
새로운 커밋을 추가하고 다시 리모트 레포지토리에 push를 했다 가정해보면 새로워진 리모트 레포지토리 내용을
다시 본인이 pull로 가져온다. 또 다시 커밋을 하고 다시 리모트 레포지토리로 push 한다고 생각하면
이런식으로 리모트 레포지토리를 가운데 두고 다른 개발자들과 협업이 가능하다.
이렇게 리모트 레포지토리를 만드는건 안정성 확보와 협업을 할 수있다는 중요한 의미를 가진다.
'Git' 카테고리의 다른 글
(11) GitHub - 다른 프로젝트 가져오기 [git clone] (0) | 2024.09.04 |
---|---|
[+α] GitHub 레포지토리 접근권한 설정 (0) | 2024.09.04 |
(9) GitHub - Local Repository -> Remote Repository 반영하기 (0) | 2024.09.03 |
(8) GitHub - Local Repository의 내용을 Remote Repository로 보내기 (0) | 2024.09.03 |
(7) GitHub - account와 Remote Repository 생성하기 (0) | 2024.09.03 |