들어가며
1편: Sourcetree 설치 및 Git 계정 연동에서는 Sourcetree 설치와 원격 저장소 계정 연동까지 마쳤습니다.
2편에서는 Git의 기본 사이클을 Sourcetree에서 수행하는 방법을 정리합니다. 원격 저장소의 프로젝트를 내 컴퓨터로 가져오는 Clone, 변경 사항을 기록하는 Commit, 기록한 내용을 원격 저장소에 올리는 Push 순서입니다.
1. 원격 저장소 복제 (Clone)
Clone은 원격 저장소(Remote Repository, 예: GitHub)에 있는 프로젝트 전체를 로컬 컴퓨터로 가져오는 작업입니다.
프로젝트에 처음 참여하거나 다른 컴퓨터에서 작업을 이어갈 때 가장 먼저 하게 됩니다.
(1) Clone 메뉴 실행
Sourcetree 상단의 + 새 탭 버튼을 누르거나 메뉴에서 파일 > 새로 만들기/복제를 선택합니다.
저장소를 추가하는 화면이 나오면 URL에서 복제 버튼을 클릭합니다.
(설명: Sourcetree의 'URL에서 복제' 버튼)
(2) 저장소 정보 입력
Clone 할 원격 저장소의 정보를 입력합니다.
- 소스 URL: 복제할 원격 저장소의 주소(HTTPS 또는 SSH)입니다. GitHub 프로젝트 페이지의 'Code' 버튼에서 복사할 수 있습니다. 1편에서 계정 연동을 마쳤다면 드롭다운에 내 원격 저장소 목록이 나타나 그중에서 고를 수도 있습니다.
- 목적지 경로: 프로젝트를 저장할 로컬 폴더입니다.
- 이름: 로컬에서 쓸 프로젝트 이름입니다. 보통 저장소 이름이 자동으로 입력됩니다.
입력을 마치면 복제(Clone) 버튼을 클릭합니다.
(설명: GitHub 저장소 URL을 입력하고 로컬 저장 경로를 지정한 화면)
복제가 끝나면 저장소가 로컬 저장소 목록에 추가되고 프로젝트 메인 화면으로 이동합니다. 여기서 프로젝트의 버전 관리 내역을 한눈에 볼 수 있습니다.
2. 변경 사항 기록 (Commit)
Commit은 수정한 코드에 설명을 붙여 로컬 저장소에 하나의 버전(스냅샷)으로 기록하는 작업입니다.
(1) 파일 수정 및 변경 사항 확인
Clone 한 프로젝트 폴더에서 소스 파일을 수정하고 저장합니다.
그러면 Sourcetree의 파일 상태 탭에 변경된 파일 목록이 표시됩니다. 아직 기록되지 않은 변경 사항을 Sourcetree가 감지한 것입니다.
(설명: 파일 수정 후 '스테이지에 올라가지 않은 파일' 목록에 변경 내역이 표시된 모습)
(2) 변경 내용 스테이징 (Staging)
Commit 에 포함할 파일을 고르는 과정을 **스테이징(Staging)**이라고 합니다.
- 파일 목록에서 Commit 에 포함할 파일을 선택합니다.
모두 스테이지에 올리기또는선택한 항목 스테이지에 올리기버튼으로 스테이지(Staged files) 영역으로 옮깁니다.
변경된 파일 중 원하는 것만 골라 Commit 할 수 있어서, 작업을 논리적인 단위로 나누기 좋습니다.
(설명: 특정 파일을 선택하여 스테이지 영역으로 올린 화면)
(3) 커밋 메시지 작성 및 실행
스테이지에 올린 변경 사항에는 커밋 메시지가 필요합니다.
화면 하단의 입력란에 변경 내용을 알아볼 수 있게 메시지를 작성하고 커밋 버튼을 누릅니다.
(설명: 커밋 메시지를 작성하고 커밋 버튼을 누르기 직전의 모습)
커밋이 끝나면 파일 상태 탭이 비워지고, 히스토리 탭의 로그 맨 위에 방금 만든 커밋이 추가됩니다. 이제 변경 사항이 로컬 저장소에 기록된 상태입니다.
3. 원격 저장소에 공유 (Push)
Push는 로컬 저장소의 커밋을 원격 저장소에 올려 팀원과 공유하는 작업입니다. 내 작업을 다른 사람이 보려면 Push 를 해야 합니다.
(1) Push 실행
로컬에는 새 커밋이 있지만 원격에는 아직 반영되지 않은 상태입니다. 이때 상단 툴바의 푸시(Push) 아이콘 위에 숫자가 표시되는데, 원격에 올릴 커밋의 개수입니다.
푸시(Push) 버튼을 클릭합니다.
(설명: Push 할 커밋이 있음을 알려주는 Push 버튼)
(2) Push 옵션 확인 및 실행
Push 할 브랜치를 선택하는 창이 나타납니다.
- 로컬 브랜치: 작업한 로컬 브랜치(예:
main또는master)를 선택합니다. - 리모트 브랜치: 로컬 브랜치의 내용을 반영할 원격 브랜치입니다. 보통 로컬 브랜치와 이름이 같습니다.
확인한 뒤 푸시(Push) 버튼을 누르면 업로드가 진행됩니다.
(설명: 로컬의 main 브랜치를 원격(origin)의 main 브랜치로 Push 하는 설정 화면)
Push 가 끝나면 GitHub 같은 원격 저장소 페이지에서 커밋한 내용을 확인할 수 있습니다.
(설명: Push를 한 다음, github에서 확인한 화면)
마무리
3편에서는 브랜치(Branch)를 만들고 관리하는 방법과, 다른 사람의 변경 사항을 가져오는 Pull을 다룹니다.