WiseN

CodeCommit 이해

Sep 08,2015   |   AWS

작성자_GS Neotek

페이스북 공유하기 트위터 공유하기
Blog thumbnail

다루는 내용


∙ GIT의 기본 사용법
∙ CodeCommit 저장소 사용


 

 

실습






GIT?






 

협업과 소스 관리를 위해 Version Control System (VCS, 버전관리시스템, 형상관리시스템)이 발전해 왔다. 중앙집중식으로 Centralized VCS (CVS, Subversion, Perforce 등)이 있고, 분산관리식으로 Distributed VCS (GIT, Mecurial, bazaar darcs 등)이 있다. 이 중에서 GIT은 많은 장점으로 널리 사용되고 있다.
GIT은 파일 상태를 Tracked와 Untracked 상태로 나누고, Tracked는 다시 Unmodified, Modified, Staged 상태로 나눈다.

 



 

1. 설치

yum으로 간단하게 설치 가능하며, 필요한 경우 소스를 받아서 설치할 수 있다.


1) yum install -y git
2) http://git-scm.com/download에서 다운 받아 설치


2. 기본 설정

Git을 Commit할 때 이름과 이메일을 사용한다. config 명령어로 간단히 설정 가능하다.
1) git config


 



 



 

3. 로컬 저장소 만들기

1) git init


 



 

4. 파일의 상태 확인

1) git status
파일을 생성한 후 상태를 확인 해보면 untracked 상태임을 알 수 있다.


 



 

5. 새 파일 추적하기

1) git add a.txt
새 파일을 추적하게되면 변경된 사항이 없으므로 Committed 상태 (Unmodified 상태)가 된다.


 



 

6. 파일 수정하기

파일을 수정하면 modified 상태가 된다.


 



 

7. staged 상태

1) modified 상태의 파일을 add 하면 staged 상태가 된다.


 



 

2) staged 상태의 파일을 다시 수정하게 되면 한 개의 파일이 두 개의 상태가 된다.


 



 

이 상태에서 commit하게되면 수정 전(staged 상태)의 버전이 적용된다. staged 상태의 파일은 변경 사항이 있어도 commit 되지 않는다.
최신 버전을 staged 상태로 만들기 위해서는 다시 add 명령어를 이용한다.


8. git diff

1) stated와 modified 상태의 파일을 비교할 수 있다.


 



 

9. git commit

1) 변경 사항을 최종적으로 스냅샷에 기록한다.


 



 

10. git log

1) commit된 결과를 출력한다.


 



 

 




CodeCommit






 


  • CodeCommit 레포지토리 생성




1. 콘솔에서 CodeCommit 클릭
2. Get Started 클릭
3. Create new repository 페이지에서

1) Repository name : codecommit-repo 입력
2) Create repository 클릭


 



 

4. 레포지토리 Name 클릭 (codecommit-repo)

 



 




 


  • Git에서 CodeCommit 레포지토리 사용




1. AWS 서비스인 CodeCommit를 사용하기 위한 권한 설정

 



 



 

IAM Role을 등록하여 사용 할 수 도 있다.


 

2. HTTPS를 통해 CodeCommit 레포지토리에 접속할 경우 필요한 설정

 



 



 

SSH를 사용할 경우는 아래 링크를 참고하자.
http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html


 

3. 원격 저장소에서 프로젝트 가져오기

 



 



 

git clone 실행시 Username을 입력하라는 메시지가 나오는 것은 aws cli가 codecommit을 지원하지 않기 때문이다. 최신 버전의 cli를 설치한다.


 



 



 

4. 소스 Push하기

1) 해당 프로젝트 디렉토리에서 파일 생성하기
2) git add 하여 staged 상태 만들기
3) git commit 하여 최종 스냅샷 만들기
4) git push 하여 레포지토리에 소스 올리기


 



 

5. 원격 저장소에서 새로운 프로젝트 가져오기

 



 

 




참고



CodeCommit의 소스를 git clone 하여 프로젝트를 시작한 경우가 아니고, 로컬 소스를 git init하여 저장소로 만들었다면 git push할 때 몇가지 설정을 해주어야한다.


1. git push origin


 


 

위와 같은 에러 메시지가 나타나는데, 첫번째는 push 할때 matching으로 할 것인지 simple로 할 것인지 설정해주어야 한다. 두번째는 첫 사용시 CodeCommit에 브랜치가 없기 때문에 만들어 주어야 한다.


• matching : 로컬에 있는 브랜치 전부
• simple : 현재 브랜치만


2. push.default 환경 설정


 


 

3. push할 브랜치 명시