회사에서 GIT를 형상관리 툴로 쓰기로 했는데..
차장님이 정리해주신걸 까먹어서 실습하면서 다시 정리한다 -_-
일반 git 저장소들이 소스를 공개하는 반면 개인 저장소로 사용할 수 있는 bitbucket 을 활용하자
주소는 다음과 같다.
https://bitbucket.org/
익스플로러에서는 안열린다! 크롬에서 시도할것 !
Sign Up, Free!
필수항목(Username, Email, Password)만 입력해 주자.
Sign Up을 누르면 가입할 때 입력한 이메일주소로 인증메일이 발송되는데 인증메일의 URL로 접속하면 아래와 같이 인증이 완료된 화면이 뜬다.
다음으로 Putty 를 설치한다.
putty-2012-11-30-installer.exe
요놈은 원격 저장소에 소스를 반영하기 위해 필요한 놈인데 로컬에서만 관리한다면 필요없다.
하지만 로컬에서만 관리한다면 단독으로 SVN 쓰는거랑 다를게 없으므로 설치 ㄱㄱ
Putty 는 별다른 변경 없이 기본설정으로 설치를 해주면 된다.
설치가 끝나면 아래와 같이 Putty 가 설치된 폴더에 PuttyGen이 생긴다. 실행!
Number of bits in a generated key 부분을 1024로 바꿔준 후 Generate버튼을 누르고 No key 부분의 공백에서 마우스를 마구 움직여주면 키가 생성된다.
Public key for pasting into OpenSSH authorized_keys file: 부분의 키값을 복사한다.
그리고 패스워드를 입력한 후 아래의 Save Private key 를 눌러 임의의 위치에 키를 저장한다.
다시 Bitbucket으로 돌아와서 우측 상단의 Manage Account
SSH keys에서 Add Key
PuttyGen에서 생성한 키값과 적당한 라벨을 입력하고 Add key 하면 키가 추가된다.
좌측 상단의 Repositories > Create Repository
저장소 이름과 설명, 그리고 몇가지 설정을 체크한 후 Create repository 하면 저장소가 생성된다.
다음으로 Git을 설치한다.
Git 의 경우엔 설치 중간에 "Adjusting your PATH enviorment" 라는 과정에서 두번째 "Run Git from the Windows Command Prompt" 를 선택한다. 그 외의 설정은 기본설정으로 설치한다.
다음으로 TortoiseGit를 설치한다. (64bit 버전)
TortoiseGit-1.7.15.0-64bit.z01
TortoiseGit-1.7.15.0-64bit.zip
기본설정으로 설치를 진행한 후 아래의 설정에 따라 맞춰준다!
마우스 우클릭 후 TortoiseGit > Settings
General 탭에서 Git.exe Path를 설정해준다. 위에서 설치한 경로로 잡아주면 됨
Network 탭에서 SSH client 의 경로를 잡아준다. 위에서 Putty를 설치한 경로로 잡아주면 됨
마지막으로 Git 탭에서 계정정보를 입력한다. Bitbucket에 가입한 Username과 Email을 입력하면 끝!
이제 기본적인 셋팅이 끝났다.
원격 저장소를 로컬 저장소로 Clone하고, 소스를 로컬 저장소에 추가한 후 Commit 하고 원격 저장소에 Push 해보자.
저장소로 사용할 폴더를 하나 만든 후 우클릭하여 Git Clone 메뉴를 선택한다.
https://[유저이름]@bitbucket.org/[유저이름]/[저장소이름].git 의 형식으로 URL을 입력하고 앞에서 저장한 SSH key를 지정한 후 OK.
key의 암호를 입력한 후 OK
저장소 계정의 암호를 입력한 후 OK
Clone이 완료되었다.
이제 저장소 폴더에 소스코드를 복사한다.
마우스 우클릭 > TortoiseGIT > Add
Select/deselect all 을 체크하여 모두 선택 후 OK
Add가 완료된 후 Commit을 누르면 바로 커밋할 수 있다!
간단한 코멘트 입력 후 OK하면 커밋 완료!
커밋한 소스를 원격 저장소에 저장하기 위해 Push를 선택한다.
브랜치를 선택(아직 마스터브랜치밖에 없다)한 후 OK
완료!
bitbucket 사이트에서 Push된 소스를 확인할 수 있다.
사용해보니 로컬과 원격지가 따로 분리되어있어서 공동작업시 보다 신중하게 소스를 관리할 수 있는것 같다.
버전관리도 SVN에 비해서 훨씬 수월할듯 하고..
적절하게 활용하도록 해야겠다!