Android Studio Version Control System Menu
팀원과 협업하고 프로젝트를 편리하게 관리하기 위해 우리는 외부 프로그램을 많이 이용한다.
GitHub, GitLab, Bitbucket 등 이런 프로그램을 안드로이드 스튜디오에서는 어떻게 관리할까?
안드로이드 스튜디오에서 버전 관리를 맡고 있는 VCS(Version Control System)에 대하여 알아보자.
Android Studio의 VCS
팀 프로젝트를 진행하고 협업에 불편함을 느낀 당신이라면 Github에 올리고 싶다는 생각을 하고 VCS 메뉴로 들어갈 것이다. 협업을 하기 위해 VCS 메뉴를 이용해야 한다는 것은 알지만, VCS란 무엇이고 무슨 하위 메뉴를 선택해야 할까?
VCS(Version Control System)
안드로이드 스튜디오의 VCS(Version Control System)는 버전 관리 시스템을 통합하여 개발자가 소스 코드를 효율적으로 관리하고 협업할 수 있도록 돕는 기능이다. 안드로이드 스튜디오는 Git, GitHub, Subversion(SVN) 등을 지원하며, 가장 널리 사용되는 것은 우리가 사용할 GitHub의 기반이 되는 Git이다.
VCS의 주요 기능
1. 버전 관리 시스템 통합: Git, SVN, Mercurial 및 기타 추가 플러그인으로 다른 VCS도 사용할 수 있다.
2. GitHub 연동: 원격 저장소와 바로 연결 가능하고 GitHub에서 프로젝트를 생성하거나, 기존 프로젝트를 클론 가능하다.
3. 변경 사항 추적 : 수정된 파일을 표시해 주고 이전 버전과의 차이를 보여준다.
4. 히스토리 보기: 파일이나 프랜치 변경 이력을 확인할 수 있다.
5. 브랜치 관리: 새로운 브랜치를 생성하고 다른 브랜치로 쉽게 전환 가능하다. 두 브랜치에 변경 사항을 병합 가능하다.
6. 커밋 및 푸시(Push): commit, push, pull이 가능하다.
- 커밋(Commit): 로컬에서 변경 사항을 기록
- 푸시(Push): 로컬에서 기록된 변경 사항을 원격 저장소로 업로드
- 풀(Pull): 원격 저장소의 최신 변경 사항을 로컬로 가져옴
7. 차이 비교: Diff로 파일의 변경 전후를 한눈에 비교할 수 있다
8. 리팩토링 지원: 파일 또는 프로젝트의 구조를 변경하면서도 버전 관리를 유지할 수 있다.
9. 작업 기록 재설정: Undo, Redo, Reset이 가능하다.
- Undo/Redo: 로컬 변경 사항을 되돌리거나 다시 적용할 수 있다.
- 리셋(Reset): 특정 커밋 상태로 프로젝트를 되돌릴 수 있다.
10. 태그 및 릴리즈 관리: 특정 커밋에 태그를 추가하여 주요 릴리즈를 표시하고 관리할 수 있다.
VCS에서 Git 사용방법은 다른 글에서 다루고 넘어가도록 하겠다.
VCS하위 메뉴
VCS를 사용하기 위해 VCS 메뉴를 선택하면 하위 메뉴를 보면 뭐가 많다.
함부로 눌러보기엔 내 프로젝트가 어떻게 될지 몰라 두려우니 하위 메뉴에 대해 알아보고 선택하자.
1. Enable Version Control Integration...
- 프로젝트에서 버전 관리 시스템(VCS)을 활성화한다.
- 활성화하면 Git, Subversion(SVN) 또는 기타 VCS를 설정할 수 있다.
- 프로젝트에 아직 Git 또는 다른 VCS가 적용되지 않은 경우, 이 옵션을 사용해 시작할 수 있다.
2. VCS Operations Popup... (단축키: `Alt + ``)
- VCS와 관련된 여러 작업을 빠르게 액세스할 수 있는 팝업 창을 연다.
- 커밋, 푸시, 브랜치 변경, 병합 등 주요 VCS 작업을 한곳에서 실행할 수 있다.

3. Apply Patch...
- 외부에서 생성된 패치 파일(.patch)을 적용한다.
- 파일의 변경 내용을 병합하거나 프로젝트에 반영할 수 있다.

4. Apply Patch from Clipboard...
- 클립보드에 복사된 패치를 현재 프로젝트에 적용한다.
- 주로 팀원 간 공유된 패치 내용을 바로 적용하는 데 사용된다.

5. Get from Version Control...
- 원격 저장소(예: GitHub, GitLab 등)에서 프로젝트를 클론(Clone)하여 가져온다.
- 새로운 프로젝트를 시작할 때 원격 저장소의 코드를 가져오는 데 사용된다.

6. Browse VCS Repository
- 원격 저장소를 탐색하거나 브라우저로 열 수 있다.
- 특정 커밋, 브랜치, 태그 등을 확인하거나 저장소 상태를 볼 수 있다.

Show Git Repository Log...
Browse Subversion Repository
7. Create Mercurial Repository
- 프로젝트에 Mercurial(Hg) 버전 관리 저장소를 생성한다.
- Mercurial은 Git과 유사한 버전 관리 시스템으로, 주로 SVN 사용자가 선호한다.

8. Create Git Repository...
- 현재 프로젝트 폴더에 Git 저장소를 초기화한다.
- 프로젝트를 Git으로 관리하기 시작할 때 사용된다.

9. Share Project on GitHub
- 프로젝트를 GitHub에 업로드하고 원격 저장소로 공유한다.
- GitHub 계정이 연결되어 있어야 하며, 프로젝트를 퍼블릭 또는 프라이빗으로 설정할 수 있다.

10. Setup on Google Cloud Source Repositories...
- 프로젝트를 Google Cloud Source Repository에 연결한다.
- Git Repository가 없으면 사용이 불가능하다.
- Google Cloud를 사용하는 경우, Git 저장소를 통해 코드 관리를 설정할 수 있다.

11. Import into Subversion...
- 현재 프로젝트를 Subversion(SVN) 저장소에 추가한다.
- SVN은 중앙 집중식 버전 관리 시스템으로, 팀원이 중앙 서버와 동기화하여 작업 할 수 있어 팀 환경에서 사용된다.

12. Share Project (Subversion)...
- 현재 프로젝트를 Subversion(SVN) 저장소로 공유한다.
- 다른 사용자와 협업하기 위해 프로젝트를 업로드할 수 있다.

VCS setting
VCS를 설정할 수 있는 설정으로 들어가 보자. File에서 Setting으로 들어가자.
이 부분까지 자세히 다 다루기엔 글이 너무 길어지니 다음 글에서 마저 설명해 보도록 하겠다.
Next
이렇게 Android Studio의 VSC 메뉴에 대해 알아보았다.
다음 글에선 위에서 설명한 바와 같이 Version Control Settings에 대해 알아보도록 하겠다.