본문 바로가기

programmer/Git 사용법

쉬운 Git 사용법 - 6 (clone, pull)

Clone과 Pull



전에 Clone에 대해서 잠깐 설명한 적이 있었습니다.

이번 글에서는 새로운 로컬 저장소를 만들어서 지금까지 작성해온 원격 저장소에 있는 내용을 clone(복제)하여 가져와보겠습니다. 또한 각 로컬저장소를 서로 다른 사람이라고 생각하고 pull기능을 설명해보겠습니다.




.




26.



clone을 하기 위해



enter image description here



위의 버튼을 다시 누릅니다.

저번에는 Create new repository에서 새로운 로컬 저장소를 만들었지만, 이번에는 clone을 해야하므로 Clone repository를 선택합니다.

그리고 github에서 지금까지 진행했던 프로젝트의 URL을 복사합니다.



enter image description here



위의 그림에서 빨간줄로 되어있는 부분을 복사하시면 됩니다.






그리고 적당한 경로를 지정한 후, clone을 누르면 복제가 됩니다.



enter image description here



똑같이 복제가 된 것을 확인할 수 있습니다.






27



choo와 choo2를 각각 다른 사람이라고 생각해봅시다. 서로 협업을 하고있는 상황입니다.



enter image description here



위의 그림처럼,
원격저장소에서 choo의 로컬저장소로 데이터가 오고 가고, choo2도 마찬가지입니다.
이전의 글에서 말씀드렸다시피 로컬저장소에서 코드를 수정하고 수정한 것을 원격저장소에 업로드시키는 것을 push라고 합니다. pull은 이와 반대로 원격 저장소에 어떤 데이터가 업데이트되면 그 것을 받아오는 기능입니다.
예를 들어, choo2가 로컬 저장소에서 데이터를 수정하고 commit을 한 후에, push를 실행하면 원격 저장소의 내용이 업데이트 됩니다. 그러면 choo의 로컬 저장소에 원격 저장소에서 새로 업데이트 된 내용을 받아야 할 때, pull을 사용합니다.






28.



그러면 직접 pull을 해보도록 하겠습니다.
choo2에서 index.html을 수정해보겠습니다.



enter image description here



이렇게 수정을 하고 commit을 실행합니다. 그리고 원격 저장소로 업로드하기 위해 push를 실행합니다.

이제 pull기능을 사용해보도록 합시다. choo의 저장소로 이동하여 pull 버튼을 누릅니다.



enter image description here






OK를 누르면 pulling이 진행됩니다. 원격 저장소에서 새로운 내용을 받아오는 것이죠.



enter image description here



pulling이 끝나면 choo의 저장소에도 choo2에서 추가했던 내용이 추가된 것을 볼 수 있습니다.



enter image description here






29



pull은 수시로 실행하는 것이 좋습니다. 왜냐하면 저번 글에서 봤듯이 서로 다른 작업을 진행하면서 원격 저장소에서 하나로 합쳐지는데, 그 때도 충돌이 발생할 가능성이 있기 때문입니다. 만약 바뀐 내용이 너무 많다면 충돌이 해결할 수 없을정도로 많아질 수 있습니다. 되도록 충돌이 적게 일어나서 수정하기 쉬우면 좋겠죠? 그래서 수시로 pull을 진행하여 새로 업데이트된 내용을 받아들이는 것이 충돌을 해결할 때 훨씬 편리합니다.






지금까지 clonepull에 대해 알아보았습니다. 다음 글에서는 commit을 변경하고 취소하는 등의 기능에 대해 알아보겠습니다.