DevOps
Sourcetree
Sourcetree 기본 사용법: Clone, Commit, Push (2편)

들어가며

1편: Sourcetree 설치 및 Git 계정 연동에서는 Sourcetree 설치와 원격 저장소 계정 연동까지 마쳤습니다.

2편에서는 Git의 기본 사이클을 Sourcetree에서 수행하는 방법을 정리합니다. 원격 저장소의 프로젝트를 내 컴퓨터로 가져오는 Clone, 변경 사항을 기록하는 Commit, 기록한 내용을 원격 저장소에 올리는 Push 순서입니다.


1. 원격 저장소 복제 (Clone)

Clone은 원격 저장소(Remote Repository, 예: GitHub)에 있는 프로젝트 전체를 로컬 컴퓨터로 가져오는 작업입니다.

프로젝트에 처음 참여하거나 다른 컴퓨터에서 작업을 이어갈 때 가장 먼저 하게 됩니다.

(1) Clone 메뉴 실행

Sourcetree 상단의 + 새 탭 버튼을 누르거나 메뉴에서 파일 > 새로 만들기/복제를 선택합니다.

저장소를 추가하는 화면이 나오면 URL에서 복제 버튼을 클릭합니다.

소스트리 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 할 커밋이 있음을 알려주는 Push 버튼)

(2) Push 옵션 확인 및 실행

Push 할 브랜치를 선택하는 창이 나타납니다.

  • 로컬 브랜치: 작업한 로컬 브랜치(예: main 또는 master)를 선택합니다.
  • 리모트 브랜치: 로컬 브랜치의 내용을 반영할 원격 브랜치입니다. 보통 로컬 브랜치와 이름이 같습니다.

확인한 뒤 푸시(Push) 버튼을 누르면 업로드가 진행됩니다.

소스트리 Push 설정 화면 (설명: 로컬의 main 브랜치를 원격(origin)의 main 브랜치로 Push 하는 설정 화면)

Push 가 끝나면 GitHub 같은 원격 저장소 페이지에서 커밋한 내용을 확인할 수 있습니다.

github 커밋이 완료된 화면 (설명: Push를 한 다음, github에서 확인한 화면)


마무리

3편에서는 브랜치(Branch)를 만들고 관리하는 방법과, 다른 사람의 변경 사항을 가져오는 Pull을 다룹니다.