12. 고급 기능
Version History and Change Tracking (Git 기반 버전 관리)
이 위젯은 Free 플랜에서 잠겨 있으며, Pro·Enterprise 플랜에서 사용할 수 있습니다.

파일 상태 확인하기 (File Status)
좌측 사이드바에서 File Status를 선택하면 현재 프로젝트에서 무엇이 바뀌었는지 한눈에 확인할 수 있습니다. 변경 내역은 세 가지로 나뉩니다.
- Staged Changes: 다음 커밋에 포함되도록 이미 표시해둔 파일 목록
- Changes: 이전에 커밋된 적 있는 파일 중 내용이 바뀌었지만 아직 스테이지하지 않은 파일 목록
- Untracked Files: 아직 한 번도 커밋되지 않은 새로운 파일 목록
목록에서 파일을 클릭하면 오른쪽 화면에 어떤 내용이 바뀌었는지 표시됩니다.
변경사항 스테이지·되돌리기 (Stage / Discard)

다음 커밋에 포함할 파일을 고르는 것을 **스테이지(Stage)**라고 합니다. 파일 옆의 + 버튼을 누르면 그 파일만 스테이지되고, 화면 상단의 **[+ Stage All]**을 누르면 변경된 파일 전체가 한 번에 스테이지됩니다.
반대로 변경 내용을 취소하고 이전 상태로 되돌리려면 **디스카드(Discard)**를 사용합니다. 파일을 우클릭해 **[Discard Changes]**를 선택하면 그 파일만 되돌아가고, 화면 상단의 **[Discard All]**을 누르면 File Status에 표시된 변경사항 전체가 한 번에 되돌아갑니다.
되돌리기(Discard)는 실행을 취소할 수 없습니다. 되돌리기 전에 정말 필요 없는 변경인지 한 번 더 확인해주세요.
원격 저장소와 주고받기 (Fetch / Pull / Push)
화면 상단 툴바의 아이콘으로 원격 저장소(remote repository)와 내용을 주고받을 수 있습니다.
- Fetch: 원격 저장소에 어떤 변경이 있는지 확인만 하고, 내 작업 파일에는 아직 반영하지 않습니다.
- Pull: 원격 저장소의 최신 내용을 실제로 받아와서 내 작업 파일에 반영합니다.
- Push: 내가 커밋한 변경 내용을 원격 저장소에 올려서 다른 사람과 공유합니다.
각 아이콘을 누르면 세부 옵션을 고를 수 있는 메뉴가 열립니다.
Fetch 세부 옵션

- Fetch: 기본 방식입니다. 연결된 원격 저장소의 최신 정보를 받아옵니다.
- Fetch All Remotes: 원격 저장소가 여러 개 연결되어 있을 때, 전체 원격 저장소의 최신 정보를 한 번에 받아옵니다.
- Fetch & Prune: 최신 정보를 받아오면서, 원격에서 이미 삭제된 브랜치의 로컬 추적 정보도 함께 정리합니다. 원격에선 지워졌는데 내 브랜치 목록에는 계속 남아 보이는 문제를 막아줍니다.
Pull 세부 옵션

- Pull: 기본 방식입니다. 원격의 새 변경사항을 받아와서 내 로컬 변경사항과 자동으로 합칩니다. 두 브랜치가 각자 다르게 진행되고 있었다면, 둘을 합쳤다는 기록(병합 커밋)이 히스토리에 남습니다.
- Pull (Rebase): 원격의 변경사항을 먼저 반영한 다음, 그 위에 내가 만든 커밋을 다시 쌓아 올리는 방식입니다. 병합 기록 없이 히스토리가 한 줄로 깔끔하게 정리됩니다.
- Pull (Fast-forward only): 내 브랜치에 아직 원격에 없는 나만의 커밋이 전혀 없을 때만 동작합니다. "단순히 최신 상태로 따라가기"만 허용하고, 합쳐야 하는 상황이면 아무 것도 바꾸지 않고 알려줍니다. 히스토리를 절대 건드리고 싶지 않을 때 안전하게 쓸 수 있는 방식입니다.
Push 세부 옵션

- Push: 기본 방식입니다. 내가 커밋한 변경사항을 이미 연결되어 있는 원격 브랜치에 올립니다.
- Push & Set Upstream: 새로 만든 브랜치를 처음으로 원격에 올릴 때 사용합니다. 이 브랜치가 원격의 어떤 브랜치와 짝을 이루는지 함께 지정해두는 것이라, 이후부터는 그냥 Push만 눌러도 어디로 올릴지 자동으로 기억합니다.
- Push Tags: 커밋이 아니라 태그(버전 표시용 이름표)를 원격 저장소에 올립니다.
- Force Push (with lease): 원격 저장소의 기록을 내가 가진 기록으로 덮어씁니다.
Force Push는 다른 사람이 이미 올려둔 커밋을 지워버릴 수 있는 위험한 작업입니다. 실행 전 확인 창이 한 번 더 뜨고, 되돌릴 수 없다는 경고가 함께 표시됩니다. "(with lease)"가 붙은 이유는 내가 마지막으로 받아본 이후 원격에 다른 사람의 새 커밋이 올라와 있으면 실행을 막아주기 때문입니다 — 동료의 작업을 실수로 덮어쓰는 사고를 줄여줍니다. 정말 필요한 경우가 아니면 사용하지 않는 것을 권장합니다.
브랜치 병합하기 (Merge)
툴바의 Merge 아이콘을 누르면 병합할 브랜치를 선택하는 창이 열립니다. 원하는 브랜치를 선택하고 병합을 실행하면, 그 브랜치의 변경사항이 지금 작업 중인 브랜치로 합쳐집니다.
같은 부분이 서로 다르게 수정되어 있어 충돌(conflict)이 발생하면, 충돌한 파일마다 다음 중 하나를 선택해서 해결합니다.
- Accept Current: 내 브랜치의 변경사항을 유지합니다.
- Accept Incoming: 병합해오는 브랜치의 변경사항을 적용합니다.
- Mark as Resolved: 직접 내용을 수정한 뒤, 해결 완료로 표시합니다.
Build Template and Component Libraries (템플릿 및 컴포넌트 라이브러리 구축)
여러 화면에서 반복해서 쓰는 위젯 묶음은 하나의 컴포넌트로 등록해두고 재사용할 수 있습니다. 컴포넌트는 프로젝트 안에서 폴더 단위로 정리해서 관리합니다.
- 위젯 여러 개를 묶어 컴포넌트로 등록하기
- 컴포넌트를 폴더로 분류해서 관리하기
- 등록해둔 컴포넌트를 다른 화면에 가져다 쓰기
Integrate Backends, Auth, and Payments (백엔드, 인증 및 결제 연동)
스튜디오 자체에서 인증(로그인)·결제를 위한 전용 기능이 준비 중입니다.