2022. 8. 2. 18:05ㆍGIT
원격 저장소 내용을 내려받는 방법이 pull 외에 fetch가 있다.
pull과 fetch의 차이는 병합을 자동 처리하는지 여부이다.
fetch는 자동 병합을 하지 않는다.
자동 병합
pull은 원격 저장소에 현재 커밋보다 더 최신 커밋 정보가 있을 때 내려받는다.
내려받은 커밋 정보는 임시 영역에 저장한다.
스테이지 영역이 아닌 임시 branch가 따로 있다.
내려받은 최신 커밋들을 현재 브랜치로 자동으로 병합 처리한다.
원격 서버 파일과 로커 파일을 하나로 합치는 과정인데 협업으로 pull 명령어로 자동 병합을 하는 경우 문제가 가끔 생긴다.
자동으로 branch 병합을 하지 못하고 충돌하는 경우가 생기기 때문이다.
이런 경우 fetch 방식을 사용해야 한다.
fetch
원격 저장소에서 코드를 수동으로 내려받는 작업이다.
fetch는 원격 저장소에서 커밋된 코드를 임시 브랜치로 내려 받는다.
내려받은 후 현재 브랜치와 자동 병합하지 않는다.
$ git fetch 원격저장소URL
수동 병합인 fetch 명령을 하면 새로운 main branch가 하나 더 생성된다.
origin/main 형태의 임시 브랜치다. 임시 브랜치에는 커밋을 할 수 없다.
merge 수동 병합
fetch는 데이터를 내려받기만 할뿐 자동 병합하지 않는다.
내려받은 커밋을 로커 저장소에 적용하려면 병합 명령을 실행해야 한다.
$ git merge 원격저장소별칭/브랜치이름
원격 저장소에 추가된 내용을 로컬 저장소에서 수동으로 병합하였다.
'GIT' 카테고리의 다른 글
[GIT] 새 작업하기 (0) | 2022.08.02 |
---|---|
[GIT] 충돌 방지를 위한 최신화 (0) | 2022.08.02 |
[GIT] 자동으로 내려받기 (0) | 2022.08.02 |
[GIT] 서버 전송 (0) | 2022.08.01 |
[GIT] 깃허브 연동 및 원격 등록 (0) | 2022.08.01 |