티스토리 뷰

728x90

토터스깃으로 프로젝트 시작하기에서 언급한것처럼 외부 저장소를 복제해서(Clone) 프로젝트를 시작한 경우, 특히 해당 프로젝트가 활발하게 활동하는 오픈소스 프로젝트라면 해당 프로젝트의 원본 저장소는 지속적으로 업데이트가 수행되기 때문에 현재 로컬 저장소로 복제한 내용이후로 많은 변경이 일어났을 가능성이 큽니다. 변경된 최신의 코드를 확인하고 싶다면 "가져오기(fetch)"와 "가져와 병합하기(pull)"를 사용할 수 있습니다.

차이점은 가져오기(fetch)는 원격 저장소의 가져오기는 하지만 현재 로컬 저장소에 반영하지는 않고 반영하고 싶다면 나중에 병합(merge)을 수행해야 합니다. 반면에 가져와 병합하기(pull)는 원격 저장소의 내용을 가져와 로컬에 병합하며 반영하는 동작을 수행합니다.

탐색기에서 로컬저장소의 컨텍스트 메뉴>토터스깃>가져오기(Fetch)를 선택한 화면입니다. [확인]을 클릭하면 가져오기를 진행합니다.


원격 저장소의 내용은 "FETCH_HEAD" 라는 이름의 가지로 저장되고 추후 명시적으로 병합(Merge)을 수행해야 로컬 저장소에 반영됩니다.


위의 화면은 가져오기(Fetch)한 내용을 로컬에 병합하는 화면으로 컨텍스트 메뉴>토터스깃>병합(merge)을 선택하고 브랜치로 FETCH_HEAD를 선택하여 [확인]하면 됩니다.


토터스깃 컨텍스트 메뉴를 통해서 가져와 병합하기(pull)를 선택하여 위와 같은 화면에서 [확인]을 누르면 원격저장소에서 업데이트할 내용을 확인합니다.


원격 저장소에서 가져온 내용은 위의 그림과 같이 바로 병합을 수행합니다. 


위의 그림은 가져와 병합하기(pull)를 수행한 다음에 로컬 저장소의 로그를 조회한 것으로 원격 저장소 내용이 그대로 옮겨진 것을 확인할 수 있습니다.


푸시(Push)는 fetch나 pull과는 반대로 로컬에서 커밋한 내용을 원격 저장소에 저장하는 것으로 원격저장소에 쓰기 권한이 있어야 한고 로컬에서는 수정사항을 커밋한 상태여야 합니다.

대부분의 원격 저장소는 인증을 요구하고 있으므로 정상적이라면 위의 그림과 같은 인증 확인 창을 거쳐야 합니다.


위의 그림은 푸시를 통해서 로컬의 커밋 내역을 원격에 반영한 결과입니다.


앞서 설명한 가져오기(fetch), 가져와 병합하기(pull), 푸시(push), 패치 작성등 원격 저장소와 로컬 저장소 간에 일어날 수 있는 다양한 작업을 하나의 창에서 해결할 수 있도록 한 것이 동기화(sync) 명령입니다.


깃 저장소의 컨텍스트 메뉴에서 바로 "Git 동기화..." 메뉴를 선택할 수 있습니다. 독립적인 명령이기 보다는 사용자 편의를 위해서 연관 기능을 모아놓았다고 보는 것이 적절합니다.

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함