android git sourcetree
주의
본 강의는 git을 제대로 사용하지는 않는 강의입니다.
혼자 프로젝트 하시거나 소규모로 프로젝트를 하실경우에는 적합한 꼼수적인 사용법으로 생각하고 가볍게 보시기를 추천합니다.
우선 git을 설치합니다.
https://git-scm.com에서 자신의 운영체제에 맞는 git을 다운로드합니다.
그 후 받으신 파일을 설치합니다. 저는 윈도우에서 설치를 진행했는데요 모두 기본설정으로 진행을 하였습니다.
git설치가 완료되었으므로 이제 git 서버를 제공하는 사이트에 가입을합시다.
본강의는 gitlab(https://gitlab.com)을 사용할것입니다.
https://gitlab.com/users/sign_in 서 가입후 로그인 해주세요
gitlab을 사용하는 이유는 private에도 다른 사이트들보다 제한이 적어 사용하게 되었습니다.
다음과 같은 화면이 나올것입니다. 여기서 new Project를 선택합니다.
Project path부분에 Testgit을 추가하고
하단의 Create project 버튼을 클릭하여 project의 생성을 완료합니다.
다음과 같은 페이지가 등장할것입니다. 이 창을 그대로 두고
아까 설치한 git bash를 들어갑니다.
gitlab에서는 사용자의 컴퓨터를 알기위해서 사용자가 업로드할 컴퓨터에서 키를 만들어주어야합니다.
git_bash
다음을 입력하고 엔터를 누릅니다.
ssh-keygen -t rsa -b 4096 -C "gitlab가입시 사용한 이메일"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Yoon/.ssh/id_rsa):
문장이 출력됩니다. 경로를 변경하지 않고 Enter를 타이핑합니다.
다음과 같은 문장이 출력됩니다.
Created directory ‘/c/Users/Yoon/.ssh’.
Enter passphrase (empty for no passphrase):
암호를 입력해줍니다.
아래 와같은 문장이 나옵니다 다시한번 암호를 입력해줍니다.
Enter same passphrase again:
아래와 같은 화면이 되면 키가 만들어진것입니다.
탐색기등을 통해 키를 만든 폴더로 이동합니다. 키가 만들어진경로는 git_bash에서 알려줍니다.
윈도우의 경우 C:\Users\유저이름\.ssh 로 이동하시면됩니다.
다음과 같이 2개의 파일이 만들어졌습니다.
이중 아래의 id_rsa.pub파일을 열어서 안의 내용을 복사합니다.
내용을 모두 복사해주세요
이제 아까 띄어둔 gitlab 사이트 창을 다시띄웁니다.
왼쪽에 아래에 있는 Setting을 클릭합니다.
아래와 같이 설정창이 바뀌었는데요 Deploy_keys 를 선택합니다.
New Deploy Key를 선택합니다
Title에 자신의 현재 pc를 구분할수있도록 적당히 입력해주시고
Key부분에 아까 복사한 키를 붙여넣기합니다
(아까 복사한키는 마지막이 이메일로 끝납니다.)
이제 Create Deploy Key를 클릭해줍니다.
다음 같이 키가 등록되었다는 화면이 출력됩니다.
이제 project를 다운받아봅시다.
go to Project로 이동합니다.
다음과 같은 화면이 나옵니다.
SSH이로 되어있을경우 HTTPS로 바꾸어주세요)
다음과 같은 부분이 있습니다.
Git global setup
git config --global user.name "Henen"
git config --global user.email "이메일"
git으로 시작하는 user.name user.email 이 두부분을 복사하여
git-bash에서 실행시켜줍니다.
이제 자신이 git에 올릴 안드로이드 프로젝트를 cd 명령어를 통하여
git bash로 들어갑니다. 저는 AndroidStudioProjects 폴더에 Fragment_Intent 프로젝트를 git에 기본파일들로 업로드할것입니다.
cd를 통하여 프로젝트로 들어가주세요
이제 여기서
Existing folder or Git repository 을 참조할것입니다.
git init
git remote add origin https://gitlab.com/henen/Testgit.git
git add .
git commit
git push -u origin master
부분을 타이핑하거나 복사붙여넣기하여 git_bash에서 실행해줍니다.
git commit 부분을 입력하면 다음과 같은화면이 등장할것입니다.
여기서 esc 키를 누르고 :wq를 타이핑합니다.
git push -u origin master 타이핑해줍니다.
실행되면 다음과같이 gitlab username을 물어봅니다.
아이디 입력후 Ok를 누르면 패스워드또한 입력해줍니다.
다음과 같이 진행이되고
git push -u origin master 를 입력하면
다음과 같이 프로젝트가 업로드가 완료됩니다.
gitlab에서 자신의 프로젝트를 확인해보면 프로젝트가 업로드 되어있는것을 확인할수있습니다.
지금부터는 저장소에서 자신의 프로젝트를 복제하는 방법을 설명하겠습니다.
SourceTree라는 프로그램을 사용할것입니다.
https://www.sourcetreeapp.com/ 에 들어가서 다운받아주세요
이후 소스트리를 실행시키고 가입해주세요(가입하시면 무료입니다)
다음과 같은 화면이 나올것입니다. 여기서 가장 왼쪽에 복제를 눌러주세요
다음과 같은 화면이 등장합니다.
소스 경로 url에 gitlab에서 제공하는 주소를 적어줍니다.
(주의 HTTP로 되어있어야합니다.
SSH이로 되어있을경우 HTTPS로 바꾸어주세요)
이제 이 링크를 복사해줍니다.
이 링크를 소스경로에 넣고 자동으로 목적지 경로가 세팅되지 않는다면 적당한 목적지 경로를 설정해줍니다.
이제 소스확인중이라는 메시지가 나오며 다음과 같은 팝업이 뜹니다.
(나오지 않으신분들은 (윈도우 10기준) 하단에 시작줄 보시면 팝업이 나왔는데 위에 안올라온것입니다.)
이제 팝업에 gitlab id와 비밀번호를 입력해줍니다. 계속 입력하시는게 귀찮으시면 remember password를 체크하시면됩니다.
다음과 같이 git 저장소이니다로 저장소 종류가 바뀌고
클론버튼이 활성화 되었습니다.
클론을 클릭하면
다음과같이
이 추가되고
클릭하면 다음과 같은 화면이 나옵니다.
만약 다음과 같이 오류가 나셧더라도 다운받으신 폴더로가서 SourceTree
왼쪽에 폴더를 드래그해서 추가하시면됩니다.
이제 안드로이드 스튜디오를 실행합니다.
왼쪽에서 Open an Exsisting ANdroid Studio project를 클릭해주세요
그리고 프로젝트를 열어줍니다.
여기서 중요한 부분이있습니다. 오른쪽 상단에 보면 unRegistered VCS root detected라는 팝업이 나옵니다. 여기서 Add root를 누르시면안됩니다. Ignore를 클릭하거나 무시해주세요
프로젝트를 성공적으로 열었습니다.
이제 위의 메뉴에 vcs에 Enable Version Control Intergration을 클릭해주세요
다음과 같은화면이 나오면 Git을 선택하고 Ok를 클릭해주세요
하단 상태표시줄 위에 Version Control메뉴가 생긴것을 확인할수있습니다.
Version Control을 클릭하세요
이제 기존 프로젝트에서 내용을 추가하여 커밋하여 push를 해볼것입니다.
자바파일에 로그등을 달아서 내용을 수정해줍니다.
이후 빌드 나 실행을 한번실행시켜서 오류가 있는지 확인합니다.
오류가 업다면 상단메뉴 에서 다음 아이콘을 클릭합니다.
다음과 같은화면이 열립니다. 여기서 중요한것은 현재 파란색으로 수정된 파일들이 쭉 선택이되있는데 다른프로젝트를 하시더라도 라이브러리 등에서 나온 java파일들은 체크하지마시고 체크를 해제해주시고
반드시 자신이 만든 java파일 layout xml 파일 등 만을 체크하셔야합니다.
나머지 라이브러리들은 gradle에서 빌드가 되므로 각 라이브러리까지 올릴필요가 없기 떄문입니다.
여기서 다른 라이브러리까지 체크를 하면 오류가 나는 경우가 굉장히 많이 생긴 경험이 있었습니다.
그래서 저도
이부분만을 체크하여 넘겼습니다. 팁은 app 부분에 보면 자신이 만든 프로젝트 파일만 올린다라고 생각하시면됩니다.
너무 수정한게 적어서 이해가 안가실수도있어서 예를 들어 다른작업시에 스샷도 첨부합니다
이제 오른쪽에 Author에 git에서 사용한 이름을 적어줍니다.
commit Message에서는 적당한 Message를 넣어주세요
커밋을 바로 클릭하시지 말고 commit옆의 화살표를 눌러서
commit and push를 클릭해주세요
다음과 같은 화면이 등장합니다.
이제 push를 눌러서 진행해주세요
다음과 같은 화면이 나왔는데 비밀번호는 아까 gitlab에 올린 rsa키 만들때 입력한 비밀번호를 입력하시면 됩니다.
입력후 Ok를 눌러주세요
이제 다음과 같은화면이나옵니다
여기서 중요한것은 No를 클릭하셔야합니다.
그렇게 되면 하단에 Push successful이 나오게됩니다. 성공적으로 푸쉬가 된것입니다.
git lab에서 프로젝트에 보면 방금 적은 commit message가 보이는것을 확인할수있습니다.
이제 안드로이드 스튜디오에서 다음 버튼을 클릭합니다.
다음과 같은 화면이 나옵니다.
여기서 Branch Default 및 Using Stash(둘다 기본값) 을 선택하여
OK를 누르면 git에 올라간 버전으로 갱신이 됩니다
이런 방법으로 진행을 하시면 되겠습니다.
여러명이 작업하실때는 키 올리시는 부분에 다른 사용자 컴퓨터의 rsa키를 받아서 추가해주세요
하다보면 Merge를 필요한 부분이 발생할것입니다. Merge창 이외에 다른 부분에서 저희가 학습한 부분의 창을 만나게된다면 되도록이면 저희가 학습한 대로 하시길 권장합니다.(이것저것 해보다가.. git이 많이 꼬인적이있어서..)