SlideShare a Scribd company logo
박 재 석 | 대 표 | ㈜ 투 씨 드
GIT with Atlassian
Git 을 이용한 형상관리
Agenda
Why Git?
HISTORY ABOUT GIT
• 2005년 리누스 토발즈에 의해 Linux 커널 프로젝트 지원을 위해 제작 된 버전 관리 도구
• 12년 간 지속적인 발전 및 꾸준한 성장세
CONCEPT
• 분산 형 버전 관리 시스템
• Reverse Delta 방식이 아닌 변경에 대한 Snapshot 방식
ARCHITECTURE
ARCHITECTURE
VCS VCS
Git은 local repository에 commit해두고
Remote Reposotory에 push하는 구조입니다.
이런 구조를 D-VCS라고합니다.
기존 VCS
우리가 일했던 Perforce가 이렇게 commit을 할 때마다
Repository에 저장되는 구조였다면
장단점
[단점]
• 대용량 소스(100GB이상) 관리 시
속도 저하 가능
• 기존 방식에 익숙한 사용자는 개념
접근에 시간이 필요
• 이력 관리가 원활하지 못 한 경우, 불
필요한 정보가 누적
[장점]
• 기존 대비 4X ~ 300X 빠른 속도
• 다양한 방식의 명령어 지원 및 UNIX
Command 지원
• 강력한 Branch를 통한 비 선형적
개발 환경 지원
• Network가 없어도, 중앙 서버가
없어도 언제 어디서든 작업에 대한
버전 관리
• 서버 장애 발생 시 빠른 복원
STRATEGY
중앙집중식Workflow Integration-Manager Workflow Dictatorand 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
개발자
개발자
개발자
Agenda
Git Command
COMMAND OVERVIEW
• Git 명령어는 가급적 검색을 통해 Option을 파악
• 명령어 실행 시 나타나는 Output message를 활용
• 모든 파일의 인위적인 변경 후에는 반드시 add!!
• 초기화 명령은 init 과 Clone
• 기본 생성 Branch는 master
• 원격 저장소는 Origin이라 명시
• 빈 Dir은 관리하지 않음
• Branch를 적극 활용
BRANCH & MERGE
1
2 3
Master
Branch
2 3
Master
Branch
1
2 3
A
Conflict / Merge
M
• 서버 Branch는 물론 이와 별개로 개인 Branch를 관리
• Fast-forward merge: 분기 된 master에서 변경이 없이 Branch에서만 작업 후 Merge 실행 시
• 3-Way merge: 분기 된 Branch와 원본 Branch 모두 변경이 있을 경우
REBASE
Master
Branch
Master
Branch
1
2 3
A
Merge
Conflict / Rebase
3’2’
1 2 3
• Rebase는 merge가 아니라 말 그대로 Base를 변경 해 주는 명령
• Rebase with Branch: 이력을 선형적으로 관리하기 위해 Branch의 기준 Base 변경 후 F.F Merge
• Rebase with Commit: Commit 간의 Parent(Base) 변경
REPO
• Repo는 대량의 Git project를 한 번에 다운/업로드 처리하기 위해 사용하는 Utility
Git Project A
Git Project B
Git Project C
manifest.xml
Repo command
OTHERS
• Git은 굉장히 많은 명령어를 통해 버전 관리 작업을 지원
• 필요한 작업 동작에 대해서 검색을 통해 명령어 및 옵션을 찾아보는 것을 적극 권장!!
• Git의 Commit을 삭제해 주는 git reset
• 다른 Branch에서 특정 Commit을 갖고오는 git cherry-pick
• Commit 전의 현재 상태를 보여주는 git status 및 이력을 보여주는 git log
• 특정 Commit을 식별하기 위한 git tag
• 이 밖에도 많은 명령과 다양한 Option이 존재
Agenda Bitbucket with Git
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의 통합 이력
관리 및 자동화 빌드 / 배포를 보다
원활하게 구성
[제품소개 및 다운로드]
https://ko.atlassian.com/software/bitbucket
P r i v i l e g e
ABOUT BITBUCKET
• Bitbucket Cloud 이외에 On-Promise 형태는 다음과 같이 2가지 제품으로 구성
BITBUCKET
• 다양한 Project 및 Project 별 Repository 구성을 보다 편리하게 구성
BITBUCKET WITH ATLASSIAN SOURCETREE
• 무료로 사용이 가능한 Git Client UI 도구
• 작업 Dir에 대한 현황(Branch 포함) 및 상세 내역에 대해 조회가 간편
• Bitbucket을 사용 시 Bitbucket에서 바로 호출하여 Clone 등의 명령을 편리하게 활용
BITBUCKET WITH CODE REVIEW
• 다양한 Project 및 Project 별 Repository 구성을 보다 편리하게 구성
BITBUCKET WITH JIRA SOFTWARE
• Process와 융합한 버전 관리를 통해 명확한 개발 흐름의 통제
※ 적용 효과: Release 14% 증가 및 Issue closing 23% 증가
BITBUCKET WITH JIRA SOFTWARE & BAMBOO
• Process로 부터 버전 관리 및 자동화 빌드 및 배포까지 전체의 업무 흐름을 통합
Agenda
Git for Developer
GIT FOR DEVELOPER
• Git의 장점인 Branch를 적극 활용
• Git은 사용자가 잘 사용해야 문제없이 버전을 관리 할 수 있음을 유의
• 명령어와 UI도구를 병행 사용
Client
Master
(Dev own)
⑤ Push
① Create Branch
② Commit
③ Pull
④ Merg
e
M
Branch 1
GIT FLOW
• Git의 장점인 Branch를 적극 활용하기 위한 Best Practice
• 기본 5개의 Branch 자동 생성 제공
① Master Branch
② Release Branch
③ Hotfix Branch
④ Develop Branch
⑤ Feature Branch
GIT에 대해 보다 자세한 내용은
• Twoseed에서 제공하는 공개 자료 페이지를 참고하세요.
URL: http://wiki.twoseed.co.kr
Thank you!
End of Document

More Related Content

PDF
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
PDF
onpremise환경에서 kubespray설치
PDF
モバイルアプリケーション管理(MAM) 自社アプリ開発手法
PPTX
Kubernetes
PDF
GitOps and ArgoCD
PDF
git - eine praktische Einführung
PDF
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
PPTX
Integrating microservices with apache camel on kubernetes
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
onpremise환경에서 kubespray설치
モバイルアプリケーション管理(MAM) 自社アプリ開発手法
Kubernetes
GitOps and ArgoCD
git - eine praktische Einführung
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
Integrating microservices with apache camel on kubernetes

What's hot (8)

PDF
Intro to git and git hub
PDF
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
PPSX
CI-CD Jenkins, GitHub Actions, Tekton
PDF
Curso Kubernetes CodeURJC
PDF
Llb 224 islamic jurisprudence – ii mid.
PPTX
Apache Maven
PDF
Cloudwatch: Monitoring your Services with Metrics and Alarms
PDF
Amazon Neptune- 신규 그래프 데이터베이스 서비스 활용::김상필, 강정희::AWS Summit Seoul 2018
Intro to git and git hub
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
CI-CD Jenkins, GitHub Actions, Tekton
Curso Kubernetes CodeURJC
Llb 224 islamic jurisprudence – ii mid.
Apache Maven
Cloudwatch: Monitoring your Services with Metrics and Alarms
Amazon Neptune- 신규 그래프 데이터베이스 서비스 활용::김상필, 강정희::AWS Summit Seoul 2018
Ad

Similar to [Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드 (20)

PPTX
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
PDF
About Git_2017.08.31 aug 투씨드 (박재석)
PDF
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
PPTX
Git command
PDF
Git 기본개념과 사용법 그리고 어플리케이션
PDF
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
PDF
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
PPTX
Gitflow ppt
PPTX
30기 정성학 "Git, sourcetree 사용법"
PPTX
git, 이해부터 활용까지
PPTX
GitLab과 Kubernetes를 통한 CI/CD 구축
PDF
Spring Camp 2017 - DevOps for everyone
PDF
11. git basic
PPTX
EOST2023-이보라-HackYourGitEducation.pptx
PPTX
오픈소스 개발을 위한 Git 사용법 실습
PDF
Git Tutorial
PDF
Git & GitHub
PPTX
PDF
github actions kubernetes 설치&운영하기
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
About Git_2017.08.31 aug 투씨드 (박재석)
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
Git command
Git 기본개념과 사용법 그리고 어플리케이션
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Gitflow ppt
30기 정성학 "Git, sourcetree 사용법"
git, 이해부터 활용까지
GitLab과 Kubernetes를 통한 CI/CD 구축
Spring Camp 2017 - DevOps for everyone
11. git basic
EOST2023-이보라-HackYourGitEducation.pptx
오픈소스 개발을 위한 Git 사용법 실습
Git Tutorial
Git & GitHub
github actions kubernetes 설치&운영하기
Ad

More from Atlassian 대한민국 (20)

PDF
Team Tour Seoul: Bringing Agile to IT
PDF
Team Tour Seoul: What Open means at Atlassian
PDF
Team Tour Seoul: Future of Work
PDF
[AIS 2018][Team Practice] 당신의 팀은 노동환경 변화에 얼마나 효과적으로 대응하고 있습니까 - 오픈소스컨설팅
PDF
[AIS 2018][Team Practice] CMMI 기반 환경의 애자일-투씨드
PDF
[AIS 2018][Team Practice] The CALMS Framework for DevOps - 커브
PDF
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
PDF
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
PDF
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
PDF
[AIS 2018] [Team Tools_Advanced] 200명 이하 개발조직의 DevOps 구현 사례 - 오픈소스컨설팅
PDF
[AIS 2018] [Team Tools_Advanced] Jira Service Desk를 활용한 ITSM - 인프라웨어 테크놀러지
PDF
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
PDF
[AIS 2018] [Team Tools_Basic] Jira Service Desk 개요 - 한국정보컨설팅
PDF
[AIS 2018] [Team Tools_Basic] Jira Software를 활용하여 생산성을 높이기 - 모우소프트
PDF
[AIS 2018] Keynote tools and practices - scott davis
PDF
[AIS 2018] Keynote : how atlassians are winning with the team playbook (and s...
PPTX
[Atlassian in 부산]Keynote: 성공하는 팀의 비밀 소스 (The Secret Sauce of Successful Teams)
PPTX
[Atlassian in 부산]분야 별 Atlassian 솔루션 적용 사례_KIC
PPTX
[Atlassian in 부산]Atlassian과 함께한 제품기획부터 출시까지_인프라웨어
PPTX
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트
Team Tour Seoul: Bringing Agile to IT
Team Tour Seoul: What Open means at Atlassian
Team Tour Seoul: Future of Work
[AIS 2018][Team Practice] 당신의 팀은 노동환경 변화에 얼마나 효과적으로 대응하고 있습니까 - 오픈소스컨설팅
[AIS 2018][Team Practice] CMMI 기반 환경의 애자일-투씨드
[AIS 2018][Team Practice] The CALMS Framework for DevOps - 커브
[AIS 2018][Team Practice] 작은 규모를 위한 Scrum과 Enterprise를 위한 SAFe – 모우소프트
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
[AIS 2018] [Team Tools_Advanced] Confluence 100배 활용하기 - 커브
[AIS 2018] [Team Tools_Advanced] 200명 이하 개발조직의 DevOps 구현 사례 - 오픈소스컨설팅
[AIS 2018] [Team Tools_Advanced] Jira Service Desk를 활용한 ITSM - 인프라웨어 테크놀러지
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
[AIS 2018] [Team Tools_Basic] Jira Service Desk 개요 - 한국정보컨설팅
[AIS 2018] [Team Tools_Basic] Jira Software를 활용하여 생산성을 높이기 - 모우소프트
[AIS 2018] Keynote tools and practices - scott davis
[AIS 2018] Keynote : how atlassians are winning with the team playbook (and s...
[Atlassian in 부산]Keynote: 성공하는 팀의 비밀 소스 (The Secret Sauce of Successful Teams)
[Atlassian in 부산]분야 별 Atlassian 솔루션 적용 사례_KIC
[Atlassian in 부산]Atlassian과 함께한 제품기획부터 출시까지_인프라웨어
[Atlassian in 부산]해외 자동차 업체 b사의 agile 적용 사례_모우소프트

[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드

  • 1. 박 재 석 | 대 표 | ㈜ 투 씨 드 GIT with Atlassian Git 을 이용한 형상관리
  • 3. HISTORY ABOUT GIT • 2005년 리누스 토발즈에 의해 Linux 커널 프로젝트 지원을 위해 제작 된 버전 관리 도구 • 12년 간 지속적인 발전 및 꾸준한 성장세
  • 4. CONCEPT • 분산 형 버전 관리 시스템 • Reverse Delta 방식이 아닌 변경에 대한 Snapshot 방식
  • 6. ARCHITECTURE VCS VCS Git은 local repository에 commit해두고 Remote Reposotory에 push하는 구조입니다. 이런 구조를 D-VCS라고합니다. 기존 VCS 우리가 일했던 Perforce가 이렇게 commit을 할 때마다 Repository에 저장되는 구조였다면
  • 7. 장단점 [단점] • 대용량 소스(100GB이상) 관리 시 속도 저하 가능 • 기존 방식에 익숙한 사용자는 개념 접근에 시간이 필요 • 이력 관리가 원활하지 못 한 경우, 불 필요한 정보가 누적 [장점] • 기존 대비 4X ~ 300X 빠른 속도 • 다양한 방식의 명령어 지원 및 UNIX Command 지원 • 강력한 Branch를 통한 비 선형적 개발 환경 지원 • Network가 없어도, 중앙 서버가 없어도 언제 어디서든 작업에 대한 버전 관리 • 서버 장애 발생 시 빠른 복원
  • 8. STRATEGY 중앙집중식Workflow Integration-Manager Workflow Dictatorand 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 개발자 개발자 개발자
  • 10. COMMAND OVERVIEW • Git 명령어는 가급적 검색을 통해 Option을 파악 • 명령어 실행 시 나타나는 Output message를 활용 • 모든 파일의 인위적인 변경 후에는 반드시 add!! • 초기화 명령은 init 과 Clone • 기본 생성 Branch는 master • 원격 저장소는 Origin이라 명시 • 빈 Dir은 관리하지 않음 • Branch를 적극 활용
  • 11. BRANCH & MERGE 1 2 3 Master Branch 2 3 Master Branch 1 2 3 A Conflict / Merge M • 서버 Branch는 물론 이와 별개로 개인 Branch를 관리 • Fast-forward merge: 분기 된 master에서 변경이 없이 Branch에서만 작업 후 Merge 실행 시 • 3-Way merge: 분기 된 Branch와 원본 Branch 모두 변경이 있을 경우
  • 12. REBASE Master Branch Master Branch 1 2 3 A Merge Conflict / Rebase 3’2’ 1 2 3 • Rebase는 merge가 아니라 말 그대로 Base를 변경 해 주는 명령 • Rebase with Branch: 이력을 선형적으로 관리하기 위해 Branch의 기준 Base 변경 후 F.F Merge • Rebase with Commit: Commit 간의 Parent(Base) 변경
  • 13. REPO • Repo는 대량의 Git project를 한 번에 다운/업로드 처리하기 위해 사용하는 Utility Git Project A Git Project B Git Project C manifest.xml Repo command
  • 14. OTHERS • Git은 굉장히 많은 명령어를 통해 버전 관리 작업을 지원 • 필요한 작업 동작에 대해서 검색을 통해 명령어 및 옵션을 찾아보는 것을 적극 권장!! • Git의 Commit을 삭제해 주는 git reset • 다른 Branch에서 특정 Commit을 갖고오는 git cherry-pick • Commit 전의 현재 상태를 보여주는 git status 및 이력을 보여주는 git log • 특정 Commit을 식별하기 위한 git tag • 이 밖에도 많은 명령과 다양한 Option이 존재
  • 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의 통합 이력 관리 및 자동화 빌드 / 배포를 보다 원활하게 구성 [제품소개 및 다운로드] https://ko.atlassian.com/software/bitbucket P r i v i l e g e
  • 17. ABOUT BITBUCKET • Bitbucket Cloud 이외에 On-Promise 형태는 다음과 같이 2가지 제품으로 구성
  • 18. BITBUCKET • 다양한 Project 및 Project 별 Repository 구성을 보다 편리하게 구성
  • 19. BITBUCKET WITH ATLASSIAN SOURCETREE • 무료로 사용이 가능한 Git Client UI 도구 • 작업 Dir에 대한 현황(Branch 포함) 및 상세 내역에 대해 조회가 간편 • Bitbucket을 사용 시 Bitbucket에서 바로 호출하여 Clone 등의 명령을 편리하게 활용
  • 20. BITBUCKET WITH CODE REVIEW • 다양한 Project 및 Project 별 Repository 구성을 보다 편리하게 구성
  • 21. BITBUCKET WITH JIRA SOFTWARE • Process와 융합한 버전 관리를 통해 명확한 개발 흐름의 통제 ※ 적용 효과: Release 14% 증가 및 Issue closing 23% 증가
  • 22. BITBUCKET WITH JIRA SOFTWARE & BAMBOO • Process로 부터 버전 관리 및 자동화 빌드 및 배포까지 전체의 업무 흐름을 통합
  • 24. GIT FOR DEVELOPER • Git의 장점인 Branch를 적극 활용 • Git은 사용자가 잘 사용해야 문제없이 버전을 관리 할 수 있음을 유의 • 명령어와 UI도구를 병행 사용 Client Master (Dev own) ⑤ Push ① Create Branch ② Commit ③ Pull ④ Merg e M Branch 1
  • 25. GIT FLOW • Git의 장점인 Branch를 적극 활용하기 위한 Best Practice • 기본 5개의 Branch 자동 생성 제공 ① Master Branch ② Release Branch ③ Hotfix Branch ④ Develop Branch ⑤ Feature Branch
  • 26. GIT에 대해 보다 자세한 내용은 • Twoseed에서 제공하는 공개 자료 페이지를 참고하세요. URL: http://wiki.twoseed.co.kr
  • 27. Thank you! End of Document

Editor's Notes

  • #2: Your headshot should look like you This should go without saying, but old, blurry, or dark pictures can make you look distorted. Use a high-quality photo to avoid looking pixelated. Your picture should just be you Avoid groups or awkward crops Show off your personal brand The audience’s first impression is your title slide. Your headshot can be professional and show off your personality at the same time. Avoid distractions Busy backgrounds, sunglasses, full-body pictures, and selfies (if you can help it).