들어가며
안녕하세요!
지난 1편: Sourcetree 설치 및 Git 계정 연동 가이드에서는 Git GUI 클라이언트인 Sourcetree(소스트리)의 설치와 원격 저장소 계정 연동 방법을 알아보았습니다.
성공적으로 초기 설정을 마치셨다면, 이제 실제 프로젝트를 관리할 준비가 된 것입니다.
이번 2편에서는 Sourcetree를 활용한 핵심 워크플로우를 다룹니다.
원격 저장소에 있는 프로젝트를 내 컴퓨터로 가져오는 Clone, 코드 변경 사항을 기록하는 Commit, 그리고 기록한 내용을 다시 원격 저장소에 공유하는 Push까지,
Git의 가장 기본적인 사이클을 Sourcetree에서 어떻게 수행하는지 단계별로 살펴보겠습니다.
1. 원격 저장소 복제 (Clone)
Clone은 원격 저장소(Remote Repository, 예: GitHub)에 있는 프로젝트의 전체 사본을 내 로컬 컴퓨터로 가져오는 작업입니다.
프로젝트에 처음 참여하거나 다른 컴퓨터에서 작업을 이어갈 때 가장 먼저 수행해야 할 과정이죠.
(1) Clone 메뉴 실행
Sourcetree를 실행한 후 상단의 + 새 탭
버튼을 누르거나, 메뉴에서 파일 > 새로 만들기/복제
를 선택합니다.
그러면 저장소를 추가할 수 있는 화면이 나타납니다. 여기서 URL에서 복제
버튼을 클릭합니다.
(설명: Sourcetree의 'URL에서 복제' 버튼)
(2) 저장소 정보 입력
Clone 할 원격 저장소의 정보를 입력하는 창이 나타납니다.
- 소스 URL: 복제할 원격 저장소의 주소(HTTPS 또는 SSH)를 입력합니다.
GitHub 프로젝트 페이지에서 'Code' 버튼을 누르면 쉽게 복사할 수 있습니다.
1편에서 계정 연동을 완료했다면, 드롭다운 메뉴에 본인의 원격 저장소 목록이 자동으로 나타나 편리하게 선택할 수도 있습니다. - 목적지 경로: 프로젝트가 내 컴퓨터에 저장될 위치(폴더)를 지정합니다.
- 이름: 로컬에서 사용할 프로젝트의 이름을 지정합니다. 보통 저장소 이름이 자동으로 입력됩니다.
정보를 모두 입력했다면 복제(Clone)
버튼을 클릭합니다.
(설명: GitHub 저장소 URL을 입력하고 로컬 저장 경로를 지정한 화면)
복제가 완료되면 해당 저장소가 Sourcetree의 로컬 저장소 목록에 추가되고, 자동으로 프로젝트의 메인 화면으로 이동합니다.
이제 프로젝트의 모든 버전 관리 내역을 한눈에 확인할 수 있습니다.
2. 변경 사항 기록 (Commit)
Commit은 내가 수정한 코드 변경 사항에 의미 있는 설명을 붙여 로컬 저장소에 하나의 버전(스냅샷)으로 기록하는 작업입니다.
(1) 파일 수정 및 변경 사항 확인
먼저 Clone 받은 프로젝트 폴더에서 원하는 소스 파일을 수정하고 저장합니다.
파일을 수정하면 Sourcetree의 파일 상태
탭에 변경된 파일 목록이 나타납니다.
Sourcetree는 아직 기록되지 않은 변경 사항이 있음을 감지하고 이를 보여줍니다.
(설명: 파일 수정 후 '스테이지에 올라가지 않은 파일' 목록에 변경 내역이 표시된 모습)
(2) 변경 내용 스테이징 (Staging)
Commit 할 파일을 선택하는 과정을 **'스테이징(Staging)'**이라고 합니다.
- 파일 목록에서 Commit에 포함할 파일을 선택합니다.
모두 스테이지에 올리기
버튼을 누르거나, 특정 파일만 선택하여선택한 항목 스테이지에 올리기
버튼을 눌러 스테이지(Staged files) 영역으로 이동시킵니다.
이렇게 파일을 스테이징하면, 여러 변경 파일 중 원하는 것들만 골라서 Commit 할 수 있어 작업을 논리적인 단위로 구성하는 데 매우 유용합니다.
(설명: 특정 파일을 선택하여 스테이지 영역으로 올린 화면)
(3) 커밋 메시지 작성 및 실행
파일을 스테이지에 올렸다면, 이제 이 변경 사항이 어떤 내용인지 설명하는 커밋 메시지를 작성해야 합니다.
화면 하단의 커밋 메시지 입력란에 변경 내용을 명확하게 설명하는 메시지를 작성한 후, 커밋
버튼을 누릅니다.
(설명: 커밋 메시지를 작성하고 커밋 버튼을 누르기 직전의 모습)
커밋이 완료되면 파일 상태
탭은 깨끗해지고, 히스토리
탭의 로그 목록 최상단에 방금 작성한 커밋이 추가된 것을 확인할 수 있습니다.
이제 변경 사항이 내 로컬 저장소에 안전하게 기록되었습니다.
3. 원격 저장소에 공유 (Push)
Push는 로컬 저장소에 기록된 커밋들을 원격 저장소에 업로드하여 다른 팀원들과 공유하는 작업입니다.
내가 작업한 내용을 다른 사람들도 볼 수 있게 하려면 반드시 Push를 해야 합니다.
(1) Push 실행
내 로컬 저장소에는 새로운 커밋이 있지만, 아직 원격 저장소에는 반영되지 않은 상태입니다. 이때 Sourcetree 상단 툴바의 푸시(Push)
아이콘 위에 숫자가 표시되며, 이는 원격 저장소로 Push 할 커밋이 있음을 의미합니다.
푸시(Push)
버튼을 클릭합니다.
(설명: Push 할 커밋이 있음을 알려주는 Push 버튼)
(2) Push 옵션 확인 및 실행
Push 할 브랜치를 선택하는 창이 나타납니다.
- 로컬 브랜치: 내가 작업한 로컬 브랜치(예:
main
또는master
)를 선택합니다. - 리모트 브랜치: 해당 로컬 브랜치의 내용이 업데이트될 원격 저장소의 브랜치를 선택합니다. 보통 두 브랜치의 이름은 동일합니다.
내용을 확인한 후 푸시(Push)
버튼을 누르면 업로드가 진행됩니다.
(설명: 로컬의 main 브랜치를 원격(origin)의 main 브랜치로 Push 하는 설정 화면)
Push가 성공적으로 완료되면, 이제 GitHub와 같은 원격 저장소 페이지에 접속했을 때 내가 커밋한 내용이 반영된 것을 확인할 수 있습니다.
(설명: Push를 한 다음, github에서 확인한 화면)
마무리
이번 포스팅에서는 Sourcetree를 사용하여 원격 저장소를 Clone하고, 코드 변경 사항을 Commit하며, 마지막으로 원격 저장소에 Push하는 가장 기본적인 Git 워크플로우를 알아보았습니다.
이 세 가지 작업만 익숙해져도 Git을 이용한 협업의 첫걸음을 뗐다고 할 수 있습니다. 🥳
GUI 도구를 통해 브랜치의 흐름과 파일의 변경 상태를 시각적으로 확인하니, 터미널 환경보다 훨씬 직관적으로 느껴지지 않으셨나요?
다음 3편에서는 협업의 핵심인 브랜치(Branch)를 생성하고 관리하는 방법과 다른 사람의 변경 사항을 내 로컬 환경으로 가져오는 Pull에 대해 더 깊이 다루어보겠습니다.