The document discusses various Git branching strategies, including:
- Common concepts like branches, merges, and pull requests
- Popular workflows like GitHub Flow and branching per platform/release
- A case study of Telenet's workflow of using long-running release branches merged from master for testing before production deployment
- Best practices like using pull requests for code reviews, keeping long-running branches stable, and ensuring features are fully tested before being merged.
This document provides an overview of GitHub and its technical architecture presented by Chris Wanstrath. Some key points:
- GitHub started as a git hosting site but became a social coding platform where users can see friends' activity and leave comments.
- It uses Ruby on Rails for the main codebase, Resque for background jobs, MySQL for the database, and nginx, unicorn, and memcached.
- Git operations are handled by Grit and communicated to file servers via the BERT-RPC based Smoke protocol.
- Caching, asset optimization, and AJAX loading are used extensively to improve performance. Monitoring tools include Nagios, Resque Web, Haystack, and CollectD.
This document provides an overview of version control and the distributed version control system Git. It discusses the history and benefits of version control, including backup and recovery, synchronization, undo capabilities, and tracking changes. Key aspects of Git are explained, such as branching and merging, the fast and efficient nature of Git, and how it allows for cheap local experimentation through branches. The document demonstrates Git workflows and commands and provides resources for further information.
This document discusses Git flow and workflows for features, releases, and hotfixes. It explains how to start and finish these branches using git flow commands or equivalent Git commands. It also provides tips for publishing remote branches, dealing with obsolete branches, and fixing common mistakes like amending commits, resetting files, and recovering deleted local branches.
Version control systems like Git allow teams to collaborate on code by automatically backing up work, tracking changes over time, and easily sharing code between collaborators. Git uses repositories to store source code and a branching model like GitFlow to coordinate work between team members on features, releases, and hotfixes in a stable, collaborative way. Key concepts in Git include repositories, working copies, commits, updates, pulls, and pushes used to integrate changes between local and remote repositories.
Hosting code online allows developers to securely store code, experiment safely without risk of damage, and gain feedback through collaboration. Services like BitBucket offer free hosting of Git and Mercurial projects, including wikis, issue tracking, and pull requests. BitBucket is written in Python using the Django framework and provides similar functionality to GitHub for hosting Git repositories.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
The document provides instructions on installing git and creating a GitHub account, then defines important git concepts like repositories, commits, branches and remotes. It explains how to initialize a local git repository, add and commit files, and then push the repository to GitHub. Key steps include downloading git, signing up for GitHub, initializing a local repo, making commits, and linking the local repo to a new remote repo on GitHub.
Git provides a distributed version control system that is faster and more lightweight than the centralized SVN. Git allows for easy branching and merging of code. Developers can work independently on their local repositories and sync changes to remote repositories. This allows teams to work together seamlessly on codebases.
* SlideShare에서 특정 폰트로 쓰인 글자가 보이지 않는 경우가 있습니다. 다운로드 하셔서 PDF 리더로 보시는 것을 권해드립니다. -> 기존 폰트를 모두 나눔고딕으로 변경하였습니다.
OSS 포럼 개발 교육으로 진행한 Git, GitHub 강의 자료입니다.
(http://onoffmix.com/event/67081)
간단한 로또 번호 생성기 프로그램을 작성하면서 Git, GitHub에 대해 배웁니다.
1. Git과 Github
- 버전 관리?
- Git은 어쩌다 세상에 나왔나?
- Github?
2. Git 시작하기 - 실습
- 실습 준비 : Github, Goorm IDE 가입하기
- 리눅스 명령어와 친해지기
- Git 필수 개념 집고 넘어가기
- Step by Step Git 명령어 실습 (커밋, 브랜치, 원격 저장소 등)
- 옆자리 분과 Fork하고, Pull Request
3. Git과 Github 맛깔나게 활용하기
- Github의 협업 기능 살펴보기
- Github Page
- Gitbook
4. 있어보이는 Git 활용
- .git 디렉토리 살펴보기
- Git Branch 전략
- Commit Message 활용
This document outlines the Gitlab flow for solo development projects, which uses branches for new features, hotfixes, and production deployment. The process involves creating feature branches off of master, merging them back after development, then deploying master to production. Hotfix branches are made from production for bug fixes, then merged to both master and production. Tags are created at deployment points to easily rollback if needed. Branches are deleted once no longer needed to keep the repository clean.
Version control systems are a category of software tools that help a software team manage changes.
Git is a very well supported open source project.
Git is a mature, actively maintained open source project
originally developed in 2005 by Linus Torvalds.
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
Alexis Richardson, Weaveworks CEO, recently presented this slide deck at the KubeCon + CloudNativeCon event. He covers GitOps - modern best practices for developing apps faster using cloud native tools.
Bitbucket is a hosting site for Git and Mercurial repositories that allows for effective collaboration without requiring a centralized server. While Git does not require a central server, it is good to have Bitbucket to host code repositories. Git uses a distributed version control system that allows developers to directly exchange changes and work independently of network access. Benefits of using Git with Bitbucket include free hosting for academic users, the ability to work offline or on planes, and fast branching and merging of code.
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then we’ll dive into an exploration of the more advanced and “dangerous” Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
This document provides an overview of Git and BitBucket. It begins with an introduction to source code management systems and describes Git as a decentralized version control system. Popular open source projects that use Git and web-based hosting services are listed. The document then covers Git commands and workflows, including initializing a repository, staging changes, committing, branching and merging. BitBucket is introduced as a code hosting platform that supports both Git and Mercurial repositories.
This document discusses Git flow and workflows for features, releases, and hotfixes. It explains how to start and finish these branches using git flow commands or equivalent Git commands. It also provides tips for publishing remote branches, dealing with obsolete branches, and fixing common mistakes like amending commits, resetting files, and recovering deleted local branches.
Version control systems like Git allow teams to collaborate on code by automatically backing up work, tracking changes over time, and easily sharing code between collaborators. Git uses repositories to store source code and a branching model like GitFlow to coordinate work between team members on features, releases, and hotfixes in a stable, collaborative way. Key concepts in Git include repositories, working copies, commits, updates, pulls, and pushes used to integrate changes between local and remote repositories.
Hosting code online allows developers to securely store code, experiment safely without risk of damage, and gain feedback through collaboration. Services like BitBucket offer free hosting of Git and Mercurial projects, including wikis, issue tracking, and pull requests. BitBucket is written in Python using the Django framework and provides similar functionality to GitHub for hosting Git repositories.
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
The document provides instructions on installing git and creating a GitHub account, then defines important git concepts like repositories, commits, branches and remotes. It explains how to initialize a local git repository, add and commit files, and then push the repository to GitHub. Key steps include downloading git, signing up for GitHub, initializing a local repo, making commits, and linking the local repo to a new remote repo on GitHub.
Git provides a distributed version control system that is faster and more lightweight than the centralized SVN. Git allows for easy branching and merging of code. Developers can work independently on their local repositories and sync changes to remote repositories. This allows teams to work together seamlessly on codebases.
* SlideShare에서 특정 폰트로 쓰인 글자가 보이지 않는 경우가 있습니다. 다운로드 하셔서 PDF 리더로 보시는 것을 권해드립니다. -> 기존 폰트를 모두 나눔고딕으로 변경하였습니다.
OSS 포럼 개발 교육으로 진행한 Git, GitHub 강의 자료입니다.
(http://onoffmix.com/event/67081)
간단한 로또 번호 생성기 프로그램을 작성하면서 Git, GitHub에 대해 배웁니다.
1. Git과 Github
- 버전 관리?
- Git은 어쩌다 세상에 나왔나?
- Github?
2. Git 시작하기 - 실습
- 실습 준비 : Github, Goorm IDE 가입하기
- 리눅스 명령어와 친해지기
- Git 필수 개념 집고 넘어가기
- Step by Step Git 명령어 실습 (커밋, 브랜치, 원격 저장소 등)
- 옆자리 분과 Fork하고, Pull Request
3. Git과 Github 맛깔나게 활용하기
- Github의 협업 기능 살펴보기
- Github Page
- Gitbook
4. 있어보이는 Git 활용
- .git 디렉토리 살펴보기
- Git Branch 전략
- Commit Message 활용
This document outlines the Gitlab flow for solo development projects, which uses branches for new features, hotfixes, and production deployment. The process involves creating feature branches off of master, merging them back after development, then deploying master to production. Hotfix branches are made from production for bug fixes, then merged to both master and production. Tags are created at deployment points to easily rollback if needed. Branches are deleted once no longer needed to keep the repository clean.
Version control systems are a category of software tools that help a software team manage changes.
Git is a very well supported open source project.
Git is a mature, actively maintained open source project
originally developed in 2005 by Linus Torvalds.
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
Alexis Richardson, Weaveworks CEO, recently presented this slide deck at the KubeCon + CloudNativeCon event. He covers GitOps - modern best practices for developing apps faster using cloud native tools.
Bitbucket is a hosting site for Git and Mercurial repositories that allows for effective collaboration without requiring a centralized server. While Git does not require a central server, it is good to have Bitbucket to host code repositories. Git uses a distributed version control system that allows developers to directly exchange changes and work independently of network access. Benefits of using Git with Bitbucket include free hosting for academic users, the ability to work offline or on planes, and fast branching and merging of code.
Do you know the basics of Git but wonder what all the hype is about? Do you want the ultimate control over your Git history? This tutorial will walk you through the basics of committing changes before diving into the more advanced and "dangerous" Git commands.
Git is an open source, distributed version control system used to track many different projects. You can use it to manage anything from a personal notes directory to a multi-programmer project.
This tutorial provides a short walk through of basic git commands and the Git philosophy to project management. Then we’ll dive into an exploration of the more advanced and “dangerous” Git commands. Watch as we rewrite our repository history, track bugs down to a specific commit, and untangle commits into an LKML-worthy patchset.
This document provides an overview of Git and BitBucket. It begins with an introduction to source code management systems and describes Git as a decentralized version control system. Popular open source projects that use Git and web-based hosting services are listed. The document then covers Git commands and workflows, including initializing a repository, staging changes, committing, branching and merging. BitBucket is introduced as a code hosting platform that supports both Git and Mercurial repositories.
[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
기존에 저희 회사에서 사용하던 모니터링은 Zabbix 였습니다.
컨테이너 모니터링 부분으로 옮겨가면서 변화가 필요하였고, 이에 대해서 프로메테우스를 활용한 모니터링 방법을 자연스럽게 고민하게 되었습니다.
이에 이영주님께서 테크세션을 진행하였고, 이에 발표자료를 올립니다.
5개의 부분으로 구성되어 있으며, 세팅 방법에 대한 내용까지 포함합니다.
01. Prometheus?
02. Usage
03. Alertmanager
04. Cluster
05. Performance
2018년도 Amazon AWS re:Invent Machine Learning 부분에 대한 요약을 오픈소스컨설팅 서경빈(AWS SA)님이 해주셨습니다.
사내 발표 때 아주 쉽게 설명해주셔서 좋았는데, 해당 내용은 Tech Blog에서도 확인이 가능합니다.
https://tech.osci.kr/2018/12/06/50693623/
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
Docker를 활용하여 Gitlab CI/CD 설치 구성 및 샘플 테스트를 위한 가이드 문서이며, Docker 및 Gitlab에 대한 개요 및 사용법에 대해서는 다루지 않습니다. Docker image를 이용 Gitlab 및 Gitlab CI/CD 설치 및 구성 후 Sample Spring boot web application을 이용하여 소스 변경에 따른 commit이 발생 했을 때 Gitlab CI/CD 기능을 통해 application 테스트, 빌드, 배포까지의 일련의 과정이 자동으로 진행되는지를 테스트 하는 내용입니다.
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
Cloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
장소 : 미국 보스턴 Hynes Convention Center
일시 : 2017년 5월 6일 ~ 11일 (미국 동부 시각)
참가 인원 : 5000명 이상
참가 업체 : 1014개
참가국 : 63개국
세션 수 : 750여 개(이전 Summit 대비 약 250여 개 증가)
[오픈소스컨설팅] Red Hat ReaR (relax and-recover) Quick GuideJi-Woong Choi
본 문서는 RHEL에 내장된 재해복구솔루션 ReaR (Relax and Recover)를 이용하여 OS 영역의 데이터를 백업하고 복구하는 방법을 다루고 있습니다. ReaR는 iso를 비롯한 다양한 백업 데이터 포맷을 지원하나, 이 문서에서는 CD/DVD 미디어 반입/보관이 보안상 대부분 허용되지 않는 기업 환경에서도 원활히 사용할 수 있는 PXE boot를 지원하는 포맷으로 ReaR 백업 데이터를 생성하고 복구하는 방법만을 자세히 설명합니다.
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
OpenStack Ceph & Neutron에 대한 설명을 담고 있습니다.
1. OpenStack
2. How to create instance
3. Ceph
- Ceph
- OpenStack with Ceph
4. Neutron
- Neutron
- How neutron works
5. OpenStack HA- controller- l3 agent
6. OpenStack multi-region
아틀라시안 JIRA를 사용할 때 가장 핵심적으로 해야 할 내용들만 추려서 가이드 문서를 작성하였습니다.
그러한 작업들로는 프로젝트, 스킴(Scheme), 이메일 세팅, 권한 관리, 백업/복구 등이 있습니다.
관리자가 이런 일을 잘 할 수 있도록 핵심적인 내용만으로 구성한 문서를 공유합니다.
레드햇 엔터프라이즈 리눅스 7 기반에 대한 운영자 가이드 기초편을 공유합니다.
부트로더 관리, 패키지, 네트워크, 스토리지 및 크래쉬 덤프 발생에 대한 관리까지 기초 운영 지식에 대한 부분을 본 문서를 통해 얻으실 수 있습니다.
오픈소스컨설팅의 문경윤차장께서 공유해주신 내용입니다.
2. 2
- Internal Use Only -
버전 관리 필요성 기존의 파일 시스템 공유 등으로 문제 발생시 복구 프로젝트 진행 중 과거의 특정 시점으로 돌아가야 하는 경우 여러 사람이 같은 프로젝트에 참여할 경우, 각자가 수정한 부분을 팀원 전체가 동기화하는 과정을 자동화 소스 코드의 변경 사항을 추적 소스 코드에서 누가 수정했는지 추적 대규모 수정 작업을 더욱 안전하게 진행 마이너 버전(branch)로 프로젝트에 영향을 최소화 하면서 새로운 부분을 개발 병합(merge)로 검증이 끝난 후 새로이 개발된 부분을 메인코드에 통합 코드의 특정 부분에 대한 수정 사항 확인(diff)
3. 3
- Internal Use Only -
버전 관리 시스템 종류
“Copy – Modify – Merge” vs “Unlock – Modify – Lock ”
4. 4
- Internal Use Only -
버전 관리 시스템 사용 용어
용어
설명
중앙 저장소
(Repository)
원본 소스를 저장하고 있는 저장소
작업 디렉토리
(Working Copy)
원본 저장소로부터 체크아웃을 통해 내려 받은 내 로컬 PC에 있는 작업 사본 디렉토리
커밋(Commit)
작업 디렉터리에서 변경, 추가 및 삭제된 파일을 원본 저장소인 서버에 적용하는 것
갱신(Update)
체크아웃을 받은 작업 디렉터리를 원본 저장소의 가장 최신 커밋된 버전까지 업데이트하는 명령어
리비전(Revision)
소스 파일을 수정하여 커밋하게 되면 일정한 규칙에 의해 숫자가 증가하며, 저장소에 저장된 각각의 파일 버전
롤백(Roll Back)
작업 디렉터리에 저장되어 있는 사본을 특정 리비전 또는 특정 시간으로 복원할 수 있도록 하는 명령어 버전 관리 시스템에서 일반적으로 사용되는 용어는 아래와 같음
5. 5
- Internal Use Only -
일반적인 버전 관리 프로세스
체크아웃(최초)
(작업 및 테스트)
업데이트
커밋
(작업 및 테스트)
client server
현재 리비전 전송( n )
리포지토리 내의 변경사항을 로컬에
반영
변경사항 저장 및 로그 기록
상태 체크
리비전 n 이후의 변경사항이 있는가?
(충돌 해결)
중앙 리포지토리 내에서 로컬 복사 후 변경한 사본을 커밋하는 방식으로 진행
6. 6
- Internal Use Only -
Subversion, Git 간략 비교
구분
Subversion
Git
시초
CVS 문제점1)을 극복하기 위해 CVS 개발자들에 의해 2000년에 새롭게 시작
2005년 4월 BitKeeper 논쟁2) 이후 리눅스를 만든 리누스 토발즈에 의해 시작
리포지토리 모델
클라이언트-서버 모델
분산형(Distributed)
동시성 모델
Merge, Lock
병합(Merge)
라이선스
Apache
GNU GPL 라이선스
지원 플랫폼
윈도우, 유닉스, 리눅스
윈도우, 유닉스, 리눅스
사용언어
C
C, shell scripts, Perl
보안
Numbers
SHA-1 hashes
1)디렉토리, 파일 이름 변경이 불가능하고, 속도가 느리며 커밋 실패시 롤백이 지원되지 않아 소스 관리의 어려움
2)2002년에 리눅스 커널 프로젝트는 상용DVCS 시스템인 bitKepper를 사용하기 시작했다. 2005년에는 리눅스 커널을 개발하는 커뮤니티와 BitKeeper를 개발하는 커머셜 회사간에 관계에 문제가 생기면서, 툴의 무료 사용권이 사라지게 됨. 이 사건으로 BitKeeper 기능을 토대로 새로운 버전관리 툴을 만드는 계기가 됨
7. 7
- Internal Use Only -
Subversion 개요 CVS를 개발하던 개발자들이 CVS가 가지고 있던 문제를 해결하고자 완전히 새로운 아키텍처를 적용하여 새롭게 만든 솔루션 커밋 단위가 파일이 아니라 체인지셋
CVS에서라면 여러 개의 파일을 한꺼번에 커밋하더라도 각각의 파일마다 리비전이 다름
Subversion에서는 파일별 리비전이 없고 한번 커밋할 때마다 변경 사항별로 리비전이 하나씩 증가 CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간 CVS와 거의 동일한 사용법으로 기존 사용자 유도 파일 이름변경, 이동, 디렉터리 버전 관리도 지원 원자적(atomic) 커밋
CVS에서는 여러 파일을 커밋하다가 어느 한 파일에서 커밋이 실패했을 경우 앞의 파일만 커밋이 적용되고 뒤의 파일들은 그대로 남음
Subversion은 여러 개의 파일을 커밋하더라도 커밋이 실패하면 모두 이전 상태로 회귀 양방향 데이터 전송으로 네트워크 소통량(트래픽) 최소화. 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 소스 변경 제어가능 저장소/프로젝트별 환경 설정 가능
8. 8
- Internal Use Only -
Subversion 리포지토리 구조
tags
branches
trunk
Project 1
Root
Project 2
tags
branches
trunk
tags
trunk
Project 1
Repository parent dir
Project 2
tags
trunk
One repository, many projects
One project per repository
branches
branches 여러 가지 방식의 리포지토리 구조를 생성하여 사용하는 것이 가능함
9. 9
- Internal Use Only -
Subversion 작업유형
svn checkout
svn update
Create a local copy
svn add
svn move
svn delete
Make changes
svn status -u
See what was changed
in the repository in the meantime
svn update
Update your local copy
svn diff
svn resolved
Resolve conflicts
(Merge your changes)
svn commit
Submit your changes
105
100
106
Subversion
Repository 중앙 리포지토리 내에서 로컬 복사 후 변경한 사본을 커밋하는 방식으로 진행
10. 10
- Internal Use Only -
서브버전 아키텍처
Berkley DB
FSFS
Subversion
Repository
Client Interface
Repository Interface
GUI clients
Cmd line
clients
Client
Library
Working Copy Management
Library
Access Protocol
DAV
SVN
Local
Apache
mod_dav
mod_dav_ svn
svnserve
"file" protocol
SSH
sshd
Intranetwork 다양한 클라이언트 인터페이스를 통해 각 리포지토리에 접근하여 작업 가능
11. 11
- Internal Use Only -
Git 개요 리눅스 커널 커뮤니티와 BitKeeper를 개발하는 커머셜 회사간에 관계에 문제가 발생하면서 리누스 토발즈에 의해 새롭게 만들어 버전 관리 솔루션 Branching and Merging
새로운 패치, 아이디어를 위해 브랜치를 생성하고 커밋 후 다시 메인 코드로 병합이 가능 Small and fast
모든 동작들을 우선적으로 로컬에서 실시하게 된다. 따라서, 이것은 서버와 연동하기 위해 네트워크를 타지 않아도 되기 때문에 속도면에서 여러 가지로 엄청난 장점 분산형 개발 모델
각각의 작업환경에서 별도로 작업한 소스들은 언제든지 메인서버로 업로드하고 merge가 가능 데이터 안전
모든 파일은 체크썸 검사를 하고, 다운을 받을 때에도 다시 실시를 하여 Git에서 모든 bit까지 보장 스테이징 모드
모든 파일은 스테이징(로컬) 영역에 추가되고 서버의 리포지토리에 커밋되는 두 단계로 구성
12. 12
- Internal Use Only -
Git 작업 유형 명령어들을 로컬에서 실시하고 나중에 서버에 올리는 방식을 사용 기존의 svn에서 commit이 1. 소스를 수정하고, 2. 저장소로 업로드 하는 2 단계를 각각의 명령어로 분리하여 중간에 로컬에서 일하다가 저장소에 적용하기 전의 잠재적인 한 번의 단계를 거침 한 번의 명령으로 바로 적용되는 SVN과는 달리 2번의 명령을 실행해야 마침내 서버에 있는 저장소로 업로드 "git commit -a" 의 명령을 통해서 다른 버전관리 프로그램들과 같이 이용하는 것도 가능 기존의 버전 관리 시스템과는 다른 로컬 영역의 저장소의 2단계를 가짐
13. 13
- Internal Use Only -
분산형 개발 아키텍처
<통합 관리 워크플로우 모델> 각 팀원의 역할을 분담해서 한 명은 통합을 전담으로 수행 다른 개발자는 각자 부분 개발에 집중을 하는 식으로 역할 분담 팀이 커질수록 복수의 repository를 쉽게 구성 가능 하위 팀들을 묶어주는 통합 관리자, 그리고 전체를 통합하는 관리자로 더 세분화해서 구성하는 것이 가능
14. 14
- Internal Use Only -
Git 성능
Operation
상세 테스트
Git
SVN
Commit Files (A)
Add, commit and push 113 modified files (2164+, 2259-)
0.64
2.60
4x
Commit Images (B)
Add, commit and push 1000 1k images
1.53
24.70
16x
Diff Current
Diff 187 changed files (1664+, 4859-) against last commit
0.25
1.09
4x
Diff Recent
Diff against 4 commits back (269 changed/3609+,6898-)
0.25
3.99
16x
Diff Tags
Diff two tags against each other (v1.9.1.0/v1.9.3.0 )
1.17
83.57
71x
Log (50)
Log of the last 50 commits (19k of output)
0.01
0.38
31x
Log (All)
Log of all commits (26,056 commits - 9.4M of output)
0.52
169.20
325x
Log (File)
Log of the history of a single file (array.c - 483 revs)
0.60
82.84
138x
Update
Pull of Commit A scenario (113 files changed, 2164+, 2259-)
0.90
2.82
3x
Blame
Line annotation of a single file (array.c)
1.91
3.04
1x 거의 대부분의 작업에서 서브버전 대비 엄청난 성능차를 보이고 있음
15. 15
- Internal Use Only -
요약
전세계 대부분의 오픈소스 프로젝트가 SVN에서 Git 형태로 변경되고 있으며, 국내 일부 개발사(게임사, 커머스 등)에서 상당수 사용하고 있음
16. 16
- Internal Use Only -
요약
OPEN SHARE CONTRIBUTE ADOPT REUSE