[ Git ]
- 로컬에서 관리되는 버전 관리 시스템 (VCS : Version Control System)
- 소스코드 수정에 따른 버전을 관리해주는 시스템
[ Github ]
- 클라우드 방식으로 관리되는 버전 관리 시스템
- 자체 구축이 아닌 빌려 쓰는 클라우드 개념
- 오픈소스는 일정 부분 무료로 저장 가능, 아닐 경우 유료 사용
- 분산 버전 제어, 엑세스 제어, 소스코드 관리, 버그 추적, 기능 요청 및 작업관리 제공하는 플랫폼
- 깃을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
위에 정리한 걸 풀어 설명하자면,
깃은 로컬에서 버전 관리 시스템을 운영하는 방식이고,
깃허브는 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다는 차이입니다.
따라서,
다른 사람들과 협업을 하게 될 경우, 또는 오픈 소스를 공유하고 다른 사람들의 의견을 듣고 싶은 경우 등등.
깃허브를 이용하여 다양한 목적으로 해당 기능을 사용하실 수 있습니다.
만약 폐쇄적인 범위 내에서 협업이라면 깃만 사용해도 무방합니다.
여기서 잠깐,
버전 관리 시스템(VCS : Version control System) 이란?
코드가 변경된 부분을 모두 기억해준다는 의미입니다.
코드가 수정될 때마다 파일로 일일이 따로 저장해주거나, 수동으로 백업해두기가 번거로운데, 이런일을 대신해줍니다.
어떤 부분이 수정 됐는지 쉽게 볼 수 있고,
수정된 부분을 이전 버전으로 롤백(rollback)하는 등의 편리한 기능들을 가지고 있습니다.
코드 수정에 따른 위험성을 줄일 수 있기 때문에 굉장히 많이 사용합니다.
???????
- 소스코드의 관리가 왜 필요할까?
> 웹사이트 및 웹 애플리케이션의 규모가 점점 커지고 있고, 이에 따라 수 많은 개발자들이 협업을 통해 서비스를 개발하고 있습니다.
여러 개발자가 코드를 각자 관리하면, 서비스 배포를 위해서 각자가 가지고 있는 코드들을 취합하는 과정을 거쳐야하는데, 이 부분에서 온갖 에러가 날 것입니다. 이 부분을 해결하기 위해서 더 많은 시간이 걸리기 때문에, 여러 개발자가 소스코드를 함께 관리하고 비교적 실시간으로 관리 되어야하는 환경이어야만이 리소스를 줄이는 방법입니다.
- 버전 관리 시스템 종류는?
> Local VCS
> CVCS(Centralized VCS) 중앙 집중식 버전관리 시스템
> DVCS(Distributed VCS) 분산 버전관리 시스템
https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control
- 분산 버전 관리 시스템(깃) 장점이자 다른 버전관리에 비해 나은 점은?
> 중앙 서버의 문제가 있어도 클라이언트 PC의 소스를 통한 원상 복구가 가능합니다. 그리고 여러 명이 동시에 작업하는 병렬 개발이 가능합니다.
'CS > Other' 카테고리의 다른 글
[git] - Git push 오류 해결방법(Updates were rejected because the tip of your current branch is behind) 단 주의해야합니다. (0) | 2022.06.10 |
---|---|
TDD란? (0) | 2022.04.30 |
산술 오버플로 (0) | 2022.03.20 |
공간복잡도(Space Complexity) 란? (0) | 2022.03.11 |
시간복잡도(Time Complexity) 란? (0) | 2022.03.08 |