본문 바로가기

IT/github

기본 git 형식 다이어그램과 git fetch git pull 관련

 

<git 형식>

> git fetch "remote명" "브랜치명"

===> github나 gitlab에 있는 내역들을 현재 local컴퓨터 git에 있는 remote 영역에 가지고 온다. 만약 로컬 컴퓨터에 커밋을 3번 했는데 깃허브에서 다른 사람이 git push를 2번째 커밋 상태에서 3번 더 푸쉬를 하면 커밋 해쉬가 서로 다르다. 그래서 git fetch "remote" "branch"를 하면 그 다른 커밋들을 remote쪽에 있는 것들을 가지고 올 수 있다. 대신 로컬 커밋에 있는 것들에 적용 되지는 않는다. remote에 내역들이 github나 클라우드에 있는 것들을 더 가지고 왔다고 보면 된다.

===> 만약 가지고 올려면 git checkout "remote명"/"브랜치명"으로 쓸 수 있다.(HEAD가 빠져 있는 형식으로 나온다.) 

 

> git pull "remote명" "브랜치명"

===> git pull을 사용하면 클라우드에 앞당겨져 있거나 업데이트된 커밋들을 실제 로컬 워크스페이스에 업데이트 되며, 충돌이 일어날 수도 있다. 조심해서 사용해야한다. 

==> 해당 브랜치에 있으면 git pull하면 해당 브랜치로 워크스페이스에 업데이트 되는데 가능하면 다 명시 하는 것이 좋다.