Git를 사용하기 위해서는 Server와 Client가 있어야 한다. 일반적으로 Server는 원격지에 존재하고, Client를 작업자 PC에 설치해서 사용한다.
독자적으로 Git Server를 구축할 수 있지만, 이번 과정에서는 GitHub와 BitBucket이라는 원격 Git Server를 사용하는 방법에 대해서 설명한다.
원격 Git Server가 이미 구현되어 있기 때문에 Git Client만 PC에 설치한다.
1. Git Client 설치.
"https://www.git-scm.com/"Git 사이트에서 Git Client 어플을 download 받아서 설치한다.
"Git-2.10.2-64-bit.exe"를 download 받고, 설치를 진행한다.
위의 과정을 통해서 Git Client 설치를 완료한다.
2. Git를 GUI환경에서 사용하기 위해서 "Source Tree"를 설치한다.
Source Tree 사이트(http://www.sourcetreeapp.com)에서 download받는다.
아래와 같이 설치를 진행한다.
기본 설정으로 Source Tree를 설치 완료한다.
3. Source Tree를 사용하기 위해서 Atlassian 계정을 생성한다.
SourceTree를 설치하고, 최초 실행할 경우 아래와 같이 Atlassian 계정 생성을 진행한다.
기존 계정이 있는지 또는 계정을 생성할 지 물어본다.
"Go to My Atlassian"을 클릭하고, Google 계정으로 Login한다.
"Download your SourceTree license"를 클릭해서 license를 download받는다.
이 license가 왜 필요한지는 알수 없지만, SourceTree를 사용하기 위해서 계속 진행한다.
다시 앞으로 가서 이제 "Use an existing account"를 클릭해서 설정을 진행한다.
저장소에 대해서 여기서 설정할 수 있지만, 우선 "설정 건너뛰기"를 클릭한다.
기존에 가지고 있는 SSH Key가 있다면 여기서 등록할 수 있다.
현재 생성된 SSH key가 없기 때문에 "취소"를 클릭한다.
일반적으로 Source Tree에서는 "Mercurial"을 함께 사용하는 경우가 많은데, 지금은 사용하지 않기 때문에 "Mercurial을 사용하지 않겠습니다"를 클릭한다.
그림과 같이 Source Tree가 정상적으로 설치 완료되어 실행된다.
4. BitBucket(https://BitBucket.org) Server를 이용한 Git 사용하기.
BitBucket은 5 계정의 사용자에 대해서 비공개 무제한 저장소를 지원하고, 공개 저장소는 무제한 사용자와 무제한 저장소를 지원한다.
- 가입하기.
https://bitbucket.org 사이트에 접속해서 "Get Started"를 클릭한다.
e-mail만 있으면, 쉽게 가입할 수 있다.
- 로그인.
앞서 생성한 계정을 통해서 BitBucket에 로그인 한다.
- Git 저장소 생성.
Git 저장소는 Project별로 생성되므로, Project 관리에 대한 전체 구성을 먼저 생각해서 저장소를 생성하여야 한다.
Login 한 후에 dashboard 화면의 메인 메뉴에서 "Repositories" 메뉴를 클릭해서 저장소를 생성을 시작한다.
저장소의 이름(Repository Name)을 입력하고, 공개/비공개 Project인지 check하고 "Create Repository"버튼을 클릭한다.
저장소 생성이 완료되면, 이 저장소(Repository)에 접근할 수 있는 URL을 보여준다. 아직 SSH Key가 등록되어 있지 않기 때문에 Git 접속시에 사용자와 암호를 입력해야 한다.
이와 같이 생성된 저장소는 "https://kwangho9@bitbucket.org/kwangho9" URL이하에 생성된다.
- 생성된 저장소(Repository)에 Project 파일들을 올리는 방법.
PC에서 최초 Source Code가 "D:\Repository\LMC80C_Functions"폴더에 위치시킨다.
SourceTree에서 "복제/생성" 버튼을 클릭하고, "새 저장소 생성" 탭에서 앞서 생성한 폴더를 목적지 경로로 설정한다. 즉, 해당 폴더에 대해서 파일 관리를 시작한다.
각 파일들에 대한 버전 관리를 시작하기 위해서 모든 파일을 선택하고, Commit Message를 입력하고, "커밋(Commit)"명령을 실행한다.
이로써 PC에 저장된 Project(Source File)에 대한 버전 관리가 시작되었다.
버전 관리가 가능한 이 Project를 원격 저장소(BitBucket)에 올려서 원격 버전 관리가 가능하도록 한다.
SourceTree에서 해당 프로젝트에 대해서 원격 저장소를 등록한다. "저장소" -> "원격 저장소"를 클릭하고, BitBucket에서 생성한 원격 저장소의 URL을 등록한다.
원격 저장소에 대해서 "페치"를 먼저 실행한다.(???) 이후로 PC에서 관리되는 파일들을 원격 저장소로 올리기 위해서 "푸쉬(push)"명령을 실행한다.
"master"를 선택하고 "푸쉬"버튼을 클릭한다.
현재 SSH key가 등록되어 있지 않기 때문에 사용자 계정과 암호를 입력해야만 한다.
저장소의 URL에 접속해서 Source File들을 확인한다.
정상적으로 "푸쉬(Push)"명령이 완료되었다면, 원격 저장소(BitBucket)에 PC에 있던 모든 파일들이 원격 저장소에 보관된다.
이후로는 PC에 있던 Source 파일은 사용할 필요없이 원격 저장소에 보관된 파일들을 받아와서 Project를 진행하고, 버전 관리를 진행한다.
- 원격 저장소에 관리되는 Project를 PC에 가져오기.
원격 저장소에서 버전 관리가 되는 Source File들을 PC로 가져와서 작업할 수 있도록 Project를 가져온다.
먼저 SourceTree에서 로컬 저장소를 생성하기 위해서 "복제/생성"을 클릭하고, "새 저장소 생성"탭에서 로컬 저장소의 폴더를 지정하고, 프로젝트 이름을 등록한다.
생성된 로컬 저장소에 대해서 원격 저장소(BitBucket) URL을 추가한다. 즉, "저장소(R)" -> "원격 저장소 추가"를 클릭하고, 원격 저장소의 URL을 등록한다.
원격 저장소를 사용하기 전에 먼저 "페치"명령을 실행한다.
원격 저장소에서 버전 관리되는 파일들을 받아오기 위해서 "폴(poll)"명령을 실행한다.
원격 브랜치는 일반적으로 "master"를 선택한다. 아직 SSH Key가 등록되어 있지 않기 때문에 계정과 암호를 입력해야 한다.
"폴(poll)"이 완료되면, 원격 저장소에 관리되던 파일들이 PC의 로컬 저장소로 복사된다.
이후 로컬 저장소의 파일들을 추가/삭제/편집을 진행하고, 버전 관리를 진행한다.
원격 저장소로 버전 관리가 필요할 경우에는 원격 저장소로 "푸쉬(push)"명령으로 파일 관리를 진행한다.
- SSH key 생성 방법.
SSH Key는 다양한 방법(실행 파일)으로 생성 가능하지만, 일반적으로 "PuTTYGen.exe" 를 가장 많이 사용한다. SourceTree에서는 바로 생성할 수 있다.
"PuTTYGen.exe"의 설치나 Download는 여기서 설명하지 않는다.
PuTTYGen.exe를 실행해서 SSH Key를 생성한다.
"Generate"버튼을 클릭하고, "Key"영역에 마우스를 움직이면, SSH Key가 생성된다.
SSH key는 Private key와 Public key로 구성되며, Public key는 Git Server에 등록하고, Private key는 개인 PC에 저장하여 Login시에 사용된다. 위에서 "Key"항목에 보여지는 문자열은 Public key이므로 복사해서 Git Server에 등록하면 되고, Private Key는 "Save private key"버튼을 클릭해서 PC에 저장해야 한다.
SourceTree에서는 "도구" -> "SSH Key 생성 또는 불러오기"를 클릭해서 SSH key를 생성한다.
- SSH Key 등록 방법.
원격 저장소에 대한 Login은 계정과 암호로 진행할 경우 Git Client가 주기적으로 원격 저장소에 접속할 때 마다 계정과 암호를 물어본다. 아울러 계정과 암호는 보안에 취약하므로, SSH Key를 사용하므로써 이러한 불편한 점을 해결할 수 있다.
BitBucket에 로그인하고, SSH Key를 등록하기 위해서 우측 상단의 프로필 사진을 클릭하고, "BitBucket settings"항목을 클릭한다.
좌측 하단에 "SSH keys"항목을 클릭한다.
"Add key"항목을 클릭하면, SSH key를 등록하는 팝업 창이 생성된다.
앞서 생성한 Public key를 복사해서 Key 영역에 "붙여넣기"하고, Label에는 key의 이름을 넣고, 하단의 "Add key"버튼을 클릭한다.
이로써, SSH Public key가 등록되었다.
이제 SourceTree에 SSH Private key를 등록해서 Login시에 SSH key를 사용하도록 한다.
SourceTree를 실행하고, "도구" -> "옵션"을 클릭한다.
"SSH 클라이언트 설정" 항목에서 "SSH 키" 항목에 앞서 생성한 SSH private key 파일을 등록한다.
이로써 SSH Key 등록이 완료되고, Login과정에서 계정과 암호를 입력할 필요가 없이 자동으로 Login이 진행된다.
또 다른 Git Server에 SSH Key를 등록하기 위해서는 Public Key만 등록하면 SourceTree에서 언제던지 사용할 수 있다.
Public Key를 찾기 위해서는 "PuTTYGen.exe"를 실행하고, "Load"버튼을 클릭해서 Private key를 선택하면 언제던지 Public key를 확인할 수 있다.
참고로, SourceTree를 사용하지 않고, 다른 Git Client를 사용한다면, SSH private key를 등록해야만 한다. Git Client에 접속해서 여러 가지 Git Client들을 사용할 수 있다.
- TortoiseGit