기타/git

[git] Git Pull과 Clone, 여러 저장소 다루기

kyxxn 2023. 11. 18. 17:15
728x90

여러 로컬 저장소 다루기

여러 로컬 저장소 → 하나의 원격에 접근할 때

연동이 되어 있으면 다른 로컬 저장소에서 push 하더라도,

해당 로컬 저장소에서 비교하여 Pull로 최신화(동기화) 할 수 있음.

Pull : 원격저장소에서 변동을 했을 때, 로컬 저장소로 불러오기

clone : 새 컴퓨터에서 원격 저장소와 연동하려면, 새 컴퓨터에도 로컬 저장소가 있어야 함

체크박스 클릭 시, 워크스페이스 폴더도 사라짐.

로컬 저장소만 삭제하고 싶으면 깃허브 들어가서 수동으로

Clone

  1. 나의 원격 저장소를 여러 컴퓨터가 쓸 때
  2. 다른 사람의 원격 저장소를 나의 로컬 저장소와 연동할 때

깃허브 내에서 집 파일을 다운 받는 개념이 아님.

  1. 원격 저장소 내용 복제 (HTTPS URL 링크)
  2. 복제한 내용을 내 컴퓨터로 로컬 저장소를 새로 만들어 올림.
  3. 해당 로컬 저장소를 원격 저장소와 연동

그러나 해당 로컬 저장소에서 다운 받은 원격 저장소로는 못 올림

원격 저장소가 내 계정이 아니기 때문에 불가능하다.

 

보내고 별도의 권한을 받는 경우에 가능.

++ 클론할 때는 해당 폴더 내에 로컬 저장소가 없어야 함.

Pull

: 원격 저장소의 최신 내용을 연동된 로컬 저장소에 반영

원격 저장소의 문서는 다른 로컬 저장소에서 push 등 자주 바뀌기에 최신 내용을 가져다 써야함.

즉, 하나의 원격 저장소에 여러 대가 사용하는 경우 push pull을 주기적으로 수행

깃허브에서 파일을 추가하고 내 컴퓨터에서 pull 하는 방식 사용.

Clone과 Pull 기능 비교

Clone repository

: 원격 저장소와 연동된 로컬 저장소가 내 컴퓨터에 없는 상태에서 내 컴퓨터에 해당 원격 저장소와 연동된 로컬 저장소를 생성하고 파일들을 복사해서 가져오는 기능

원격 저장소의 전체 복사본을 로컬에 만듬.

이 때, 새 디렉토리가 생성되고 그 안에 원격 저장소의 모든 커밋 히스토리가 포함됨

이 명령은 저장소를 처음 시작할 때 사용되고, 이후 사용 X

Pull repository

: 해당 원격 저장소와 연동된 로컬 저장소가 내 컴퓨터에 있는 상태에서 해당 원격 저장소의 최신 상태를 반영하기 위해 수행하는 기능

이미 로컬에 존재하는 git 저장소에 원격 저장소의 최신 변경사항을 가져오고 병합하는 작업.

이 명령은 원격 저장소에 새로운 커밋이 추가되었을 때, 그 변경사항을 현재 로컬 저장소에 반영하기 위해 사용된다. 내부적으로 git pull = git fetch + git merge 조합을 동작

요약

프로젝트 코드를 처음 내 컴퓨터에 불러오면 git clone

이미 로컬에 프로젝트가 있고, 최신상태로 하려면 git pull