20. 20
Git는 무엇일까?
• Git
• 버전 관리를 위한 도구
• 리눅스 커널의 창시자, 리누스 토발스께서 직접 만드심
• BitKeeper라는 상용 도구를 무료 사용하여 버전 관리를 했었는데 무료 사용이 제고되면서 직접
만들게 되었다고 함
이미지 출처: http://izquotes.com/quote/273567
21. 21
질문1: 버전 관리란 무엇인가요?
• 소스 하나 또는 묶음을 하나의 버전으로 간주하여 관리합니다.
• 파일/폴더를 추가/수정/삭제하여 사람이 직접 묶음을 버전으로 관리하자고 지정
• 원하는 때 예전 버전 내용 전체를 되돌려 볼 수 있음
• 특히 복잡한 코드 개발할 때는 이전 버전과 비교해 보기가 쉬워짐
파일 1개 또는
여러 개 수정
파일 1개 또는
여러 개 수정
(버전 1)
(버전 2)
(버전 3)
22. 22
질문2. 버전 관리를 대체 언제 사용하나요?
1) 개발 협업을 위해 사용합니다.
• 전체 개발 소스를 공유하면서 개발 파트를
나누어 공유
• 같은 모듈을 개발하더라도 소스를 서로
공유하면서 개발
• 이 때, 특정 파일은 변경하지 못하도록 lock을
걸 수도 있습니다 (이걸로 퇴근 못하는 직원 분들도 꽤…)
• 권한 설정을 통해 각 개발자 별로 접근 가능한 소스 목록도 제어하기도 합니다.
2) 개별적으로 버전 등 이력을 관리하기 위해 사용하는 경우도 있습니다.
3) 버전 관리되는 내역 전체를 오픈 소스로 공유하기도 합니다.
개발자
A
모듈A
개발자
B
모듈B
개발자
C
모듈A
개발 프로젝트
전체 소스
24. 24
몇 가지 좋은 GitHub의 기능
• 좋은 Web UI를 제공합니다.
• gh-pages Branch에 파일을
올리면 [계정명].github.io/[저장소명]
홈페이지가 완성됩니다.
• 여러 질문 & 답변, 이슈 사항을 기록하기 위한 Issues 페이지 제공
• Wiki 제공
• 월 정액으로 돈을 내면 공개되지 않은 사설 저장소 제공
• 돈을 더 내면 권한 관리가 가능한 organization 저장소 제공 (무료도 가능)
• … (너무 많아서…)
26. 26
GitHub - fork한 다음에는?
Pull
: 업데이트
[내 컴퓨터]
(커밋도
하고..)
Pull
: 업데이트
Push
: 업로드Push
: 업로드
Fork는 누구나 가능합니다.
그러나 누구나 이 저장소를 바꾸게 되면 이상하겠죠?
27. 27
GitHub – pull request
Pull
: 업데이트
[내 컴퓨터]
(커밋도
하고..)
Pull
: 업데이트
Push
: 업로드
Pull
request
: 검토
부탁합니다
원 저장소 소유자 또는 권한이 있는 자가 검토하여
맘에 들면 가져와서 업데이트하고, 토론/반려 등이 가능합니다.
28. 검증된 agile 도구로 팀 전반에
걸쳐 작업을 계획하고, 추적하고,
논의하여 가치를 더욱 빠르게
전달합니다.
어떤 언어, 플랫폼, 클라우드에서도
동작하는 CI/CD로 빌드, 테스트 및
배포를 수행합니다. GitHub 또는 다른
Git 공급자와 연결하여 지속적으로
배포합니다.
클라우드에 호스팅된 무제한 사설
Git 저장소를 얻고, Pull Request 및
고급 파일 관리와 함께 보다 나은
코드 빌드를 위한 협업을
진행합니다.
수동 및 예비 테스트 도구를
사용하여 자신 있게 테스트하고
제공하세요.
클릭 한 번으로 패키지를 만들고,
호스트하고, 팀과 공유하며, CI/CD
파이프라인에 아티팩트를 추가합니다.
Azure Boards Azure ReposAzure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
➔
모든 팀, 앱, 플랫폼을 위한 지속적인 딜리버리
Azure DevOps
29. Kanban 보드, 백로그, 팀 대시보드, 사용자 지정
보고를 사용한 작업 추적
Azure Boards
https://azure.com/devops➔
아이디어부터 출시까지 지속적으로 관리
모든 개발 단계에서 모든 아이디어를 추적하여 팀이
작업 항목과 직접적으로 연결된 모든 코드 변경에
계속 맞출 수 있도록 합니다.
스크럼 지원
팀이 기본 제공되는 스크럼 보드 및 계획 도구를
사용하여 스프린트, 스탠드업 및 계획 회의를 실행할
수 있습니다.
인사이트 제공을 위해 빌드된 도구
강력한 분석 도구와 대시보드 위젯을 통해 프로젝트의
상태에 대한 새로운 인사이트를 얻을 수 있습니다.
30. (2019년 6월, 핸즈온랩 실습 데모 중에서 데모: https://dev.azure.com/ )
Azure DevOps에서 직접 살펴보는 기능
33. 33
Summary
• DevOps – “사람, 프로세스, 제품”과 해커톤의 성패
• 아이디어를 구체화하면서 함께 협업하며 만들어 가는 과정
• “개발”: 소스 관리의 중요성
• Git와 GitHub의 차이점, 이제 모르시는 분은 없겠죠? ☺
• 개발자, 디자이너, 기획자, … ➔ 모두 함께 고민하는 공동의 공간 & 터
• 다양성을 포용하는 협업, 개발 툴 사용을 고려해봅시다