본문 바로가기
공부/CS

[CS] Git과 GitHub

by 초코팅촉 2023. 11. 28.
728x90

이번 시간에는 git과 gitHub에 대해서 알아봅시다.

 

그전에 앞서서 알아야 할 개념들이 있습니다.

버전관리 시스템

버전관리 시스템이란거는 우리가 ppt같은거 만들잖아요?

그러면 그걸 컨펌받을때 이전버전이 더 나았다라는 말을 들으면 좀 화나겠죠?

하지만 그걸 쉽게 하는게 뭐다?

바로

버.전.관.리.

버전관리 시스템을 쓰시면 이전에 만들고

특정 버전을 만들때마다 이력을 만들어놓으면 간단하게 이전버전으로 돌아갈수 있습니다.

왜냐하면 내가 여태 만들었던 각 버전에 대한 이력들이 다 살아있으니까요.

반대로 합칠때도 마찬가지겠죠? 누가 자료를 "어 이거 빠졌다." 하면서 계속 추가 하다 잘못 만들고 하면 좀 힘들겠죠?

그래서 아래같은걸 어찌됐건 막아주기 위한게 버전관리다~ 라고 생각하시면 됩니다.

 

어쩌구저쩌구_최종.ppt

어쩌구저쩌구_최최종.ppt

어쩌구저쩌구_최최최종.ppt

어쩌구저쩌구_찐막.ppt

어쩌구저쩌구_찐찐막.ppt

어쩌구저쩌구_찐찐찐막.ppt

어쩌구저쩌구_파이널.ppt

이런경우 생각보다 있죠?

 

분산 버전관리 시스템(Distributed Version Control System; DVCS)

자 아까 버전관리를 하는거는 혼자 하는거였죠? 물론 여럿이서도 할수 있습니다만, 좀 많이 불편했어요.

그래서 생겨난게 분산 버전관리 시스템.

당연히 여럿이 관리하려면 부분별로 나눠서 하는게 낫겠죠? 그래서 분산해서 관리한다 해서 분산이 들어가는겁니다.

 

Git

git이란 리눅스를 만든 리누스 토르발즈씨가 만든 분산 버전관리 시스템입니다.

이걸 리눅스 버전관리하려고 2주만에 혼자 뚝딱뚝딱해서 만들었대요. 그저 빛...

git의 장점이자 오메가? 그런게 있다면 바로 오프라인에서도 버전관리가 가능하단게 너무 좋은 기능이죠

 

온라인 저장소 -불러오기-> 로컬 저장소 -수정후 업로드-> 온라인 저장소

 

일단 처음에 온라인에서 로컬로 땡겨와서 그걸 로컬에서 버전관리를 하면서 온갖 작업을 한뒤

다시 온라인에 올려주면 됩니다. 그래서 로컬(오프라인)에서 바로바로 작동을 하는겁니다. 

그러다보니 기존의 버전관리들에 비해서도 매우 빠른 속도로 작동합니다.

 

GitHub

깃허브는

"깃허브(Github)는 분산 버전 관리 툴인 깃(Git)를 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다."

라고 위키백과에서 말하네요.

뭐냐면 git을 쓰려면 어쨋든 프로젝트들을 올릴 서버가 있어야겠죠? 근데 그럴 필요없이 무료로(부분 유료로)

저장공간을 주는 사이트 라고 아시면 됩니다.

 

여기까지 알아보고 다음에는 git 명령어를 알아보겠습니다.