Git
Git
이란, 무료 오픈 소스 분산 버전 관리 시스템(VCS, Version Control System)이다.
분산 버전 관리 시스템
이라는건 간단하게 말해서 나중에 특정한 버전을 불러올 수 있도록 소스 코드 같은 파일의 변경사항을 기록하는 시스템을 말한다.
이런 역할을 하는건 Git뿐만 아니라 Bitbucket, Gitlab이라는 것도 있다.
Git의 장점
1. 버전 관리
이런 경우를 한번 가정해보자. 고객한테 이러이러한 기능을 만들어달라는 문의가 들어와서
Ver.1 기능도 추가하고 또 새로운 기능을 추가해서 Ver.2를 만들고 또 새로운 기능을 추가해서 Ver.3도 만들고 이렇게 Ver.4까지 완성을 했는데
갑자기 고객이 이거 다 별로고 처음 버전(Ver.1)이 가장 좋은 것 같다고 하는데! 이럴 때 버전1을 백업해둔게 없다?!
그럼 큰일 나는거다.
내가 개발한거긴 하지만 정확하게 어디까지가 Ver,1이었는지 기억하지 못할테니까,,
백업해둔다고 해도 Ver.1, Ver.2 이렇게 폴더를 만들어서 하나하나 다 저장을 해야될텐데 모든 프로젝트를 그런 식으로 저장하게되면 그만큼 차지하는 용량도 엄청날 것이다.
이때 Git은 모든 수정 사항을 다 기록하고 있기 때문에 이런 상황에서 당황하지 않고! Ver.1로 깔끔하게 프로젝트를 돌려놓을 수 있도록 해준다.
2. 협업
Git의 두번째 장점은 바로 협업이다.
협업을 할 때 보통 여러 기능 중에 나는 이거 너는 저거 이렇게 기능을 맡아서 개발을 하게 되는데,
완전한 하나의 프로젝트를 만들기 위해서는 각자가 구현한 기능을 모두 합쳐서 테스트를 해봐야한다.
그런데 여기서 문제가 생긴다. Git이 없다면 가정하면 우리 팀은 드라이브나 메일을 통해서 계속 서로가 서로에게 작업한 것을 일일히 보내줘야될 것이다.
생각만 해도 굉장히 번거롭다.
이렇게 되면 파일을 합쳐서 실행을 해보다가 문제가 생겨도 누가, 어떤 파일에서 오류를 낸건지 찾기가 매우 힘들어진다.
하지만 Git은 이러한 번거로움들을 모두 해결해준다. 각자가 작업한 결과물을 명령어 몇 줄, 버튼 몇 개만 클릭하면 git이 알아서 한 곳으로 다 모아준다!
GitHub
GitHub이라는 이름 자체에서 이미 Git과 관련된 역할을 할 것이라는 느낌이 들 것이다.
앞서 소개했던 git과 github의 차이점을 한눈에 보기쉽게 정리해보았다.
Git은 소프트웨어라면 github은 git을 좀 더 편하게 사용할 수 있게 도와주는 하나의 서비스라고 볼 수 있다.
그리고 git은 텍스트 명령어 입력 방식을 사용하지만, github은 그래픽 유저 인터페이스, 즉, GUI
를 사용하기 때문에 버튼 몇 개만 누르면 git의 다양한 기능을 어렵지 않게 사용할 수 있다.
그리고 git은 작업한 결과물이 내 로컬에서만 기록되지만, github은 이름에 들어간 Hub라는 단어처럼 코드가 모이는 공간, 즉 공유
의 성격을 띄고 있다.
그래서 작성한 내용은 내 컴퓨터에서만 볼 수 있는 메모장을 git에다가 비유한다면, 내가 작성한 글을 버튼 몇 개만 누르면 다른 사람들에게 쉽게 공유할 수 있는 블로그를 github에 비유할 수 있다.
오픈소스
Github의 가장 큰 장점 중 하나는 바로 오픈소스인데, github에는 굉장히 많은 양질의 코드가 공유되어있다.
우리가 보통 많이 알고 있는 aws, 페이스북, 구글, 에어비앤비의 코드도 민감한 부분을 제외하고는 github에 들어가면 다 볼 수 있게 오픈되어있다.
내가 어떤 서비스를 이용하다가 이 기능 신기하다~ 어떻게 만든거지? 하고 찾아보면 웬만한 코드는 다 github에서 찾아볼 수 있다는 점에서도 github은 굉장히 중요한 역할을 한다고 볼 수 있다.
📣 모든 이미지는 직접 제작한 것으로 무단 가공이나 배포하지 말아주세요.
References
얄팍한 코딩사전
'CS > 개발상식' 카테고리의 다른 글
MVC 패턴 (0) | 2022.09.17 |
---|---|
함수형 프로그래밍 (0) | 2022.09.16 |
TDD(Test-Driven Development) (0) | 2022.09.15 |
RESTful API (0) | 2022.09.09 |
객체 지향 프로그래밍의 설계원칙, SOLID (0) | 2022.09.07 |