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

More Related Content

PDF
[WWCS] 15분만에 끝내는 LinkedIn 활용법
PDF
Domain Driven Design và Event Driven Architecture
PDF
DDD와 이벤트소싱
PDF
IT표준화-아키텍처,프로세스-2015.09.30
PPTX
Quic을 이용한 네트워크 성능 개선
PDF
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
PDF
Introducing Clean Architecture
PDF
Bizweb Microservices Architecture
[WWCS] 15분만에 끝내는 LinkedIn 활용법
Domain Driven Design và Event Driven Architecture
DDD와 이벤트소싱
IT표준화-아키텍처,프로세스-2015.09.30
Quic을 이용한 네트워크 성능 개선
Spring boot 를 적용한 전사모니터링 시스템 backend 개발 사례
Introducing Clean Architecture
Bizweb Microservices Architecture

Similar to Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed (20)

PDF
About Git_2017.08.31 aug 투씨드 (박재석)
PPTX
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
PDF
Git 기본개념과 사용법 그리고 어플리케이션
PPTX
PDF
Git 입문자를 위한 가이드
PPTX
오픈소스GIS 개발 일반 강의자료
PPTX
Git 분산버전관리 시스템(1)
PDF
Git Tutorial
PDF
소스트리(SourceTree)로 배우는 Git 사용법
PDF
Git: A Motivating Introduction
PPTX
Git의 개념과 사용
PPTX
오픈소스 공헌을 위한 필수 지식
PPTX
Git란 무엇인가?
PDF
[201808] GitHub 사용하기 - GIt & 협업 활용
PPTX
Git 기본
PPTX
git, 이해부터 활용까지
PPTX
PDF
Git이란 (Git 소개 및 기초 이론)
PPTX
Git command
About Git_2017.08.31 aug 투씨드 (박재석)
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
Git 기본개념과 사용법 그리고 어플리케이션
Git 입문자를 위한 가이드
오픈소스GIS 개발 일반 강의자료
Git 분산버전관리 시스템(1)
Git Tutorial
소스트리(SourceTree)로 배우는 Git 사용법
Git: A Motivating Introduction
Git의 개념과 사용
오픈소스 공헌을 위한 필수 지식
Git란 무엇인가?
[201808] GitHub 사용하기 - GIt & 협업 활용
Git 기본
git, 이해부터 활용까지
Git이란 (Git 소개 및 기초 이론)
Git command
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] Atlassian 제품 기반의 DevOps 구성 - 투씨드
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과 함께한 제품기획부터 출시까지_인프라웨어
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] Atlassian 제품 기반의 DevOps 구성 - 투씨드
[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과 함께한 제품기획부터 출시까지_인프라웨어
Ad

Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed

  • 3. • History • 2005년 리누스 토발즈에 의해 Linux 커널 프로젝트 지원을 위해 제작 된 버전 관리 도구 • 12년 간 지속적인 발전 및 꾸준한 성장세 1. About GIT
  • 4. • Concept • 분산 형 버전 관리 시스템 • Reverse Delta 방식이 아닌 변경에 대한 Snapshot 방식 1. About GIT
  • 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