SlideShare a Scribd company logo
About GIT
AUG Korea 2017.08.31
About GIT
AUG Korea 2017.08.31
1. About GIT
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
개발자
개발자
개발자
About GIT
AUG Korea 2017.08.31
2. Git command
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를 변경 해 주는 명령
• Rebase (Branch): 분기 된 master의 Base Commit을 변경
• Rebase (Commit): Commit의 Parent 값을 변경
Master
Branch
Master
Branch
1
2 3
A
Merge
Conflict / Rebase
3’2’
1 2 3
2. Git command
• Repo
• Repo는 대량의 Git project를 한 번에 다운/업로드 처리하기 위해 사용하는 Utility
Git Project A
Git Project B
Git Project C
manifest.xml
개발자
Repo command
2. Git command
• The Others
• Git은 굉장히 많은 명령어를 통해 버전 관리 작업을 지원
• Git의 Commit을 삭제해 주는 git reset
• 다른 Branch에서 특정 Commit을 갖고오는 git cherry-pick
• Commit 전의 현재 상태를 보여주는 git status 및 이력을 보여주는 git log
• 특정 Commit을 식별하기 위한 git tag
• 이 밖에도 많은 명령과 다양한 Option이 존재
• 필요한 작업 동작에 대해서 검색을 통해 명령어 및 옵션을 찾아보는 것을 적극 권장!!
About GIT
AUG Korea 2017.08.31
3. Atlassian
Bitbucket
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의 통합 이력
관리 및 자동화 빌드 / 배포를 보
다 원활하게 구성
[제품소개 및 다운로드]
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로 부터 버전 관리 및 자동화 빌드 및 배포까지 전체의 업무 흐름을 통합
About GIT
AUG Korea 2017.08.31
4. Using Git
4. Using Git
• Git을 잘 사용하려면
• Git의 장점인 Branch를 적극 활용
• Git은 사용자가 잘 사용해야 문제없이 버전을 관리 할 수 있음을 유의
• 명령어와 UI도구를 병행 사용
Client
Master
(Dev own)
⑤ Push
① Create Branch
② Commit
③ Pull
④ Merge
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
About GIT
AUG Korea 2017.08.31
감사합니다.

More Related Content

PPTX
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
PPTX
Git command
PPTX
06. MSA 는 무엇이고 어떻게 다른가?
PDF
GitLab Ultimate 라이선스 기능소개 - 인포그랩
PPTX
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
PPTX
Red Hat OpenShift4 발표 자료 다운로드 - 오픈나루
PPTX
30기 정성학 "Git, sourcetree 사용법"
PDF
Kubernetes와 OpenShift의 차이점
[Atlassian in 부산]Git을 이용한 형상관리 전략_투씨드
Git command
06. MSA 는 무엇이고 어떻게 다른가?
GitLab Ultimate 라이선스 기능소개 - 인포그랩
CI / CD ( 지속적인 통합 / 지속적인 전달 ) 발표 자료 다운로드
Red Hat OpenShift4 발표 자료 다운로드 - 오픈나루
30기 정성학 "Git, sourcetree 사용법"
Kubernetes와 OpenShift의 차이점

What's hot (8)

PDF
가상화 환경에서 배포 방법과 컨테이너 환경에서 CICD 차이점
PPTX
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
PPTX
Git hub repository 관리 방안
PDF
GitLab Premium 라이선스 기능소개 - 인포그랩
PDF
02.MICROSERVICES ARCHITECTURE
PPTX
Hiapp
PPTX
04.Web System based on Docker
PPTX
Introduction to SetupBox
가상화 환경에서 배포 방법과 컨테이너 환경에서 CICD 차이점
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
Git hub repository 관리 방안
GitLab Premium 라이선스 기능소개 - 인포그랩
02.MICROSERVICES ARCHITECTURE
Hiapp
04.Web System based on Docker
Introduction to SetupBox
Ad

Similar to About Git_2017.08.31 aug 투씨드 (박재석) (20)

PPTX
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
PDF
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
PDF
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
PDF
Git 기본개념과 사용법 그리고 어플리케이션
PDF
Spring Camp 2017 - DevOps for everyone
PPTX
git, 이해부터 활용까지
PPTX
Gitflow ppt
PPTX
GitLab과 Kubernetes를 통한 CI/CD 구축
PPTX
오픈소스 개발을 위한 Git 사용법 실습
PDF
11. git basic
PDF
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
PDF
Git Tutorial
PDF
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
PPTX
PDF
Git 입문자를 위한 가이드
PPTX
EOST2023-이보라-HackYourGitEducation.pptx
PDF
Git & GitHub
PPTX
Git 분산버전관리 시스템(1)
PPTX
Git 기본
Git의 기초 및 Bitbucket을 이용한 Git 코드 협업 - Twoseed
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축: Jira Cloud, Bitbucket Cloud
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Git 기본개념과 사용법 그리고 어플리케이션
Spring Camp 2017 - DevOps for everyone
git, 이해부터 활용까지
Gitflow ppt
GitLab과 Kubernetes를 통한 CI/CD 구축
오픈소스 개발을 위한 Git 사용법 실습
11. git basic
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
Git Tutorial
[AIS 2018][Team Tools_Basic] Atlassian 제품 기반의 DevOps 구성 - 투씨드
Git 입문자를 위한 가이드
EOST2023-이보라-HackYourGitEducation.pptx
Git & GitHub
Git 분산버전관리 시스템(1)
Git 기본
Ad

About Git_2017.08.31 aug 투씨드 (박재석)

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