일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- git
- rxjava
- 디자인패턴
- 코딩테스트
- 깃
- 테스트의 장점
- Di
- MVVM
- 파이썬
- 공격적 프로그래밍
- Python
- 안드로이드
- compose
- Observable
- 단위테스트
- UnitTest
- 자료구조
- 컴포즈
- Room
- ViewModel
- 제한함수
- 유닛테스트
- 코틀린
- Jetpack
- dagger2
- 안드로이드 디자인패턴
- Android
- Kotlin
- mock
- 안정성
- Today
- Total
세상을 바꾸는 개발자
[Git] 깃 개념과 장점 본문
안녕하세요~ 헬창코딩입니다. 오늘은 깃에 대해서 한번 공부해보도록 하겠습니다.!!
깃 공식문서 https://git-scm.com/ 을 참조했습니다~
깃을 공부하기 전에 먼저 버전 관리가 무엇인지 알아야 합니다.
버전 관리란?
저도 그렇고 많은 사람들이 이미 버전 관리를 하고 있습니다. 하나의 파일을 만들고 추후 그 파일을 업데이트하거나 수정을 하면 제목을 변경합니다. He.txt --> He_2.txt 이런 식으로 말이죠.
즉 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템을 말합니다.
하지만 이런 버전 관리는 누구나 할 수 있고 많은 사람들이 하고 있지만 커다란 문제점이 있습니다. 바로 제목이 더러워지고 파일이 많아졌을 때 관리하기가 힘들고 알아보기가 어렵다는 것이죠. 그래서 나온 것이 바로 Git이라는 시스템입니다.
Git의 역사
git은 2005년에 최조 Linux(운영체제)를 만든 리누스 토발즈에 의해 만들어졌는데요~
만든 목적은 오픈소스인 Linux의 원활한 개발 관리를 지원하기 위한 것이었습니다. 사실 그전에 리눅스 커널은 BitKeeper라는 분산 버전 관리시스템을 사용했었습니다. 하지만 리눅스의 커뮤니티의 한 개발자가 Bitkeeper의 통신 프로토콜을 리버스 엔지니어링 하여 해킹하는 사건이 발생했습니다. 그래서 BitKeeper와 리눅스 커뮤니티 사이에서 갈등이 생기게 됩니다.
그 후 BitKeeper은 리눅스 커뮤니티에서 공짜로 Bitkeeper를 사용할 수 없도록 라이선스를 제한해버렸습니다. 그래서 리누스 토발즈는
당장 사용할 분산 버전 관리 시스템이 없어서 어쩔 수 없이 빠르게 사용하려고 내놓은 것이 바로 Git입니다.
Git의 장점
1. 빠른 속도
2. 비선형적인 개발방식 지원
3. 완벽한 분산 시스템
4. 대형 프로젝트도 감당할 수 있는 시스템
또한 git은 Linux를 대표로 하는 오픈소스 커뮤니티와 함께 지속적으로 성장 및 개선되어 왔습니다.
현재는 사실상 오픈소스 생태계의 표준 버전 관리 시스템 역할을 담당하고 있습니다. 그래서 여전히 git자체의 버전도 계속 올라가고 있고, 기능 개선도 계속 이뤄지고 있습니다~
여하튼 이러한 장점으로 인해서
git은 전 세계 수많은 오픈소스 커뮤니티에 의해 전 세계에서 그 성능과 안정성을 모두 검증받은 가장 강력한 분산 버전 관리 시스템이라고 할 수 있습니다.!!