티스토리 뷰
Git에서 원격저장소에 있는 내용을 지역저장소로 가져올 때 두가지 방법을 사용 할 수 있습니다.
하나는 Pull 이고 다른 하나는 fetch인데요. 두 가지 개념을 간단히 설명하면 이렇습니다 ㅎㅎ
- pull - 원격저장소로 부터 내용을 가지고 온 후 병합
- fetch - 원격저장소로 부터 내용을 가지고 온 후 병합X
두 가지 모두 원격저장소로부터 내용을 가지고 온다는 점에서 기능이 유사하지만, 한가지 차이점이 있습니다.
바로 병합을 하느냐 안하느냐의 차이인데요. 당연히 이러한 기능적 차이를 둔 이유가 있겠죠?
보통은 pull을 많이 사용하기에, 왜 기능이 겹치는 fetch라는 기능이 있는지에 대해 설명드리겠습니다.
pull을 쓰면 바로 병합을 같이 해버리지만, 만약 fetch를 사용하면 병합을 수동으로 해줘야 하죠?
이렇게 함으로써 저희는 병합 전, 원격저장소와 로컬저장소의 코드의 차이점을 비교한 후 문제가 있는지 없는지 체크 해 볼 수 있게 됩니다. 즉, 무턱대고 병합하지 않겠다는 얘기죠.
실제로 각각 pull과 fetch를 해본 후 git log --decorate --all 명령어를 통해 확인을 해보면,
pull을 했을때는, master(로컬저장소)와 origin/master(원격저장소)가 같은 커밋을 가리키는것을 볼 수 있고
fetch를 했을때는, origin/master(원격저장소)가 master(로컬저장소)보다 커밋이 앞서 있는 것 을 볼 수 있습니다. 왜냐면 아직 로컬저장소에 머지를 하지 않은 상태이기 때문이죠.
한번 직접 해보시면서 차이점을 두 눈으로 확인해보시길 바랍니다 ㅎㅎ!
'Git 정리' 카테고리의 다른 글
Github README.md 작성 방법 및 요령 (0) | 2020.06.18 |
---|---|
Git 정리(8) - Github 원격저장소 만드는 법 및 로컬저장소 연결 방법 (2) | 2020.02.21 |
Git 정리(7) - Github (0) | 2020.02.20 |
Git 원리소개(2) (0) | 2020.02.20 |
Git 정리(6) - 충돌 해결 (0) | 2020.02.19 |
댓글
링크
최근에 올라온 글
최근에 달린 댓글