안드로이드 어플 개발을 시작하기 위한 Cook book 입니다. 앱을 만들고는 싶은데, 어떻게 시작해야 할 지 모르는 분들이 제 포스팅을 따라 공부 한 뒤, 그 다음부턴 스스로 앱개발을 주저없이 하실 수 있도록 하는것이 저의 목표입니다. 개발에 대한 사전지식 없이 바로 일정 관리 앱을 만들어 보며 개발을 시작 할 것이며 개발을 진행하다 필요한 것은 필요 할 때 방향을 잡는 방향으로 진행 할 것입니다.
TL;DR (Too Long Didn’t Read)
부터 확인 해주시면 됩니다.
잘못된 부분, 추가적인 설명이 필요한 부분이 있으면 꼭 지적 부탁드립니다 !
Source Code 관리의 필요성
자, 우리는 지난 강좌 에서 첫 Android Project를 각 개인의 컴퓨터에 생성 하였습니다. 그리고 여러분이 안드로이드 개발을 진행 할 때 코드들은 각 개인의 컴퓨터에 저장 될 것입니다.
하지만 각 개인의 컴퓨터에만 코드를 저장 하는것은 몇가지 문제점이 존재합니다.
- 개인의 컴퓨터에 문제가 생겨 코드가 손실 될 위험이 있습니다.
- 코드가 자주 수정 되기 때문에 내가 과거에 짰던 코드로 코드를 복구시키는 일이 쉽지 않습니다.
- 내가 짠 코드를 타인과 공유하는데 어려움이 있습니다.
- 혼자 개발 할 때엔 코드를 타인과 공유하는일이 흔치 않은 일일 수 있습니다. 하지만, 회사에서 한 프로젝트를 한명이 모두 개발하는 경우는 흔치 않아 협업을 진행 해야 하는 경우가 매우흔합니다.
- 협업을 할 떄 내가 짠 코드를 타인과 공유를 해야 하며, 각 개인의 컴퓨터에만 서로의 코드가 짜져 있다면, 서로의 코드를 공유하는것이 쉽지 않습니다.
앞에서 말씀드린 세가지 이외에도 여러 문제점들이 존재하며, 이 문제는 여러분들 이외의 다른 개발자들도 고민 했던 문제였습니다. Git
은 이러한 문제를 해결 하기 위해 만들어진 소프트웨어 입니다. 코드 백업을 도와주는 소프트웨어라고 생각하시면 편할 것 같아요.
Git
을 통해 코드를 로컬에 백업을 하면, .git
이라는 폴더가 생성되며 백업 내용들은 .git
이라는 폴더에 저장됩니다. 우리는 해당 폴더에 언제든지 백업 할 수 있으며, 백업 내용을 언제든지 가져 올 수 있습니다.
하지만 .git
코드 백업 내용을 타인과 어떻게 공유 하는지가 문제입니다. Github는 이러한 문제점을 해결 하기 위해 코드 백업 내용들을 로컬에 저장하는 것이 아닌 웹에 저장할 수 있도록 도와주는 웹 서비스 중 한가지 입니다.
SourceTree란, git
을 활용하여 Github
에 쉽게 코드를 백업 할 수 있도록 도와주는 프로그램 중에 한가지 입니다.
정리하자면
- Git을 활용하여 우리는 프로젝트의 코드를 백업하여 쉽게 관리 할 수 있습니다.
- Github는 백업 내용을 로컬에 저장하는 것이 아닌 웹에 저장하도록 도와주는 웹 서비스 중 한가지 입니다.
- SourceTree는 백업 내용을 웹에 저장하기 쉽게 도와주는 프로그램 중 한가지 입니다.
( Git과 Github에 대한 내용을 잘 설명해놓은 동영상이 있어 소개드립니다. https://www.youtube.com/watch?v=Bd35Ze7-dIw )
그래서 이번 글에서는, Git을 통해 프로젝트의 소스코드를 Github 라는 웹페이지에 SourceTree를 활용하여 업로드 하는 방법을 알아 볼 것입니다.
Github 회원가입 및 저장소 만들기
Download Git & SourceTree
Download SourceTree
제가 이미 SourceTree가 설치되어 있어 SourceTree를 다운받는 방법은 다른 블로그를 참조하여 다운받아주세요.
Git init project
Terminal에서 아래와 같이 git --version
을 입력하여 git이 설치 되었는지 여부를 확인합니다.
1 |
|
또 아래와 같이 git init
을 입력하여, git 로컬 저장소를 초기화 해줍니다.
1 |
|
Connect with Github repo
2020-07-27 수정
위에 보니 코틀린으로 프로젝트를 생성했었네요 … 위에서 생성한 repo 삭제하고, 다시 repo 만들어 주고 안드로이드 프로젝트 자바로 생성 한 뒤 위와 같은 프로세스를 똑같이 다시 진행해주었습니다 ~~