[Git] 저장소 공유

jihye·2022년 6월 30일
0

Git

목록 보기
2/4

푸쉬(Push)

로컬 저장소에서 원격 저장소에 변경 사항을 기록하기 위해선 커밋이란 것을 했다.
커밋을 하면 인덱스(스테이지)에 변경된 파일들이 기록되는데, 이제 이 인덱스에 있는 변경 사항들을 원격 저장소에 기록하기 위해선 푸쉬(Push)를 해줘야 한다.
즉, 웹 상의 원격 저장소로 변경된 파일을 업로드 하는 것을 Git에선 푸쉬(Push)라고 한다.
푸쉬(Push)를 실행하면, 원격 저장소에 내 변경 이력이 업로드 되어, 원격 저장소와 로컬 저장소가 동일한 상태가 된다.


클론(Clone)

원격 저장소를 내 로컬 저장소로 복제하려면, 클론(Clone)이라는 조작을 수행해야 한다. 여기서의 복제란 원격 저장소의 내용을 로컬 저장소에 통째로 다운로드 하는 것을 뜻한다.


풀(Pull)

원격 저장소를 공유해서 여러 사람들이 함께 작업을 하면, 모두가 같은 원격 저장소에 푸쉬(push)한다. 그럼 다른 사람이 원격 저장소에 올려놓은 변경 내용을 내 로컬 저장소에 적용(pull)할 필요가 있다.
따라서, 풀(Pull)을 실행하면, 원격 저장소에서 최신 변경 이력을 다운로드하여 내 로컬 저장소에 최신 변경된 내용이 적용된다.

push 와 pull




커밋 위치

  • origin/master : 원격 저장소 origind의 브랜치인 maste의 위치를 나타냄
  • origin/HEAD : 원격 저장소 origin을 복제해 올 때 다운로드되는 커밋 위치를 나타냄. 일반적으로 origin/master과 동일한 위치를 가리킴.
  • master : 로컬 저장소 브랜치인 master의 위치를 나타냄



변경 이력 병합(Merge)

내가 끌어온 저장소가 최신 버전이 아닌 경우, 즉 내가 원격 저장소에 pull 한 뒤에 다른 사람이 변경 사항을 원격 저장소에 push 한 경우, 내 로컬 저장소는 최신 원격 저장소와 상태가 다르다.(최신 버전이 아니다)
이 때, 내 로컬에서 파일을 변경하여 원격 저장소에 파일을 업로드(push)하려고 하면, 내 push 요청은 거부되어 업로드를 할 수가 없다.

이런 경우 병합(merge)라는 작업을 진행하여 다른 사람의 업데이트 이력을 내 저장소에도 갱신해야 한다.
만일 병합하지 않을 채 이력을 덮어쓰게 되면 다른 사람이 push 한 업데이트 내역이 사라져 버린다.


참고 자료
누구나 쉽게 이해할 수 있는 Git 입문

profile
프론트엔드 개발자

0개의 댓글