6. • VCS vs DVCS
Git은 local repository에 commit해두고
Remote Reposotory에 push하는 구조입니다.
이런 구조를 D-VCS라고합니다.
VCS
우리가 일했던 Perforce가 이렇게 commit을 할 때마다
Repository에 저장되는 구조였다면
1. About GIT
7. • 장단점
[단점]
• 대용량 소스(100GB이상) 관리 시 속도
저하 가능
• 기존 방식에 익숙한 사용자는 개념 접
근에 시간이 필요
• 이력 관리가 원활하지 못 한 경우, 불
필요한 정보가 누적
[장점]
• 기존 대비 4X ~ 300X 빠른 속도
• 다양한 방식의 명령어 지원 및 UNIX
Command 지원
• 강력한 Branch를 통한 비 선형적 개발
환경 지원
• Network가 없어도, 중앙 서버가 없어
도 언제 어디서든 작업에 대한 버전
관리
• 서버 장애 발생 시 빠른 복원
1. About GIT
8. • Strategy
중앙집중식 Workflow Integration-Manager Workflow Dictator and Lieutenants Workflow
분산 환경 하에서의 대표적인 3가지 Workflow
기준 모델을 제시합니다.
Shared Repository
Blessed Repository
Integration
Dev private
Dev private
Dev public
Dev public
Blessed Repository
Dictator
LieutenantDev public
Dev public Lieutenant
개발자
개발자
개발자
1. About GIT
10. • Command
• Git 명령어는 가급적 검색을 통해 Option을 파악
• 명령어 실행 시 나타나는 Output message를 활용
• 모든 파일의 인위적인 변경 후에는 반드시 add!!
• 초기화 명령은 init 과 Clone
• 기본 생성 Branch는 master
• 원격 저장소는 Origin이라 명시
• 빈 Dir은 관리하지 않음
• Branch를 적극 활용
2. Git command
11. • Branch & Merge
• 서버 Branch는 물론 이와 별개로 개인 Branch를 관리
• Fast-forward merge: 분기 된 master에서 변경이 없이 Branch에서만 작업 후 Merge 실행 시
• 3-Way merge: 분기 된 Branch와 원본 Branch 모두 변경이 있을 경우
1
2 3
Master
Branch
2 3
Master
Branch
1
2 3
A
Conflict / Merge
M
2. Git command
12. • Rebase
• Rebase는 merge가 아니라 말 그대로 Base를 변경 해 주는 명령
Master
Branch
Master
Branch
1
2 3
A
Merge
Conflict / Rebase
3’2’
1 2 3
2. Git command
13. Git Project A
Git Project B
Git Project C
manifest.xml
Repo command
• Repo
• Repo는 대량의 Git project를 한 번에 다운/업로드 처리하기 위해 사용하는 Utility
2. Git command
14. • The Others
• Git은 굉장히 많은 명령어를 통해 버전 관리 작업을 지원
• Git의 Commit을 삭제해 주는 git reset
• 다른 Branch에서 특정 Commit을 갖고오는 git cherry-pick
• Commit 전의 현재 상태를 보여주는 git status 및 이력을 보여주는 git log
• 특정 Commit을 식별하기 위한 git tag
• 이 밖에도 많은 명령과 다양한 Option이 존재
• 필요한 작업 동작에 대해서 검색을 통해 명령어 및 옵션을 찾아보는 것을 적극 권장!!
2. Git command
16. • About Bitbucket
강력한 권한 통제
Bitbucket의 강력한 Branch 권한
및 프로젝트 권한 관리 기능으로
보다 강력한 권한 통제
Git 기반의 소스관리
가장 범용적인 Git 기반의 개발 소
스 관리 환경을 기반으로
강력한 확장성을 제공하는
협업형 Git 솔루션
D V C S
편리한 Code 검색
시맨틱 검색을 기본 포함하여
편리한 코드 검색 환경 제공
S e a r c h i n g
Atlassian 제품 통합
Jira 및 Bamboo와 강력한 연계를
통해 Source code의 통합 이력 관
리 및 자동화 빌드 / 배포를 보다
원활하게 구성
I n t e g r a t i o n s
[제품소개 및 다운로드]
https://ko.atlassian.com/software/bitbucket
P r i v i l e g e
3. Atlassian Bitbucket
17. • About Bitbucket
• Bitbucket Cloud 이외에 On-Promise 형태는 다음과 같이 2가지 제품으로 구성
3. Atlassian Bitbucket
18. • About Bitbucket
• 다양한 Project 및 Project 별 Repository 구성을 보다 편리하게 구성
3. Atlassian Bitbucket
19. • Code Review
• Pull request 기반의 Code review 환경 제공
3. Atlassian Bitbucket
20. • Bitbucket with Jira Software
• Process와 융합한 버전 관리를 통해 명확한 개발 흐름의 통제
※ 적용 효과: Release 14% 증가 및 Issue closing 23% 증가
3. Atlassian Bitbucket
21. • Bitbucket with Jira Software & Bamboo
• Process로 부터 버전 관리 및 자동화 빌드 및 배포까지 전체의 업무 흐름을 통합
3. Atlassian Bitbucket
23. • Git을 잘 사용하려면
• Git의 장점인 Branch를 적극 활용
• Git은 사용자가 잘 사용해야 문제없이 버전을 관리 할 수 있음을 유의
• 명령어와 UI도구를 병행 사용
Client
Master
(Dev own)
⑤ Push
① Create Branch
② Commit
③ Pull
④ Merg
e
M
Branch 1
4. Using Git
24. • Atlassian Sourcetree
• 무료로 사용이 가능한 Git Client UI 도구
• 작업 Dir에 대한 현황(Branch 포함) 및 상세 내역에 대해 조회가 간편
• Bitbucket을 사용 시 Bitbucket에서 바로 호출하여 Clone 등의 명령을 편리하게 활용
4. Using Git
25. • Git에 대해 보다 자세한 내용은
• Twoseed에서 제공하는 공개 자료 페이지를 참고하세요.
URL: http://wiki.twoseed.co.kr
4. Using Git