Git
리누스 토르발스(Linux Torvalds)가 개발한 분산형 버전 관리 시스템(Version Control System, VCS).
(많이 들어본 그 이름 맞다,,, 리눅스 개발한 리누스 토르발스,,,)
쉽게 말해 코드의 수정 기록을 저장해두는 프로그램이다.
컴퓨터가 갑자기 다운되거나, 작성하던 파일이 날아가버리는 경우를 대비해 문서를 작성할 때 중간중간 저장해두는 것처럼, 코드를 작성할 때 변경사항들을 저장해주는 프로그램이 바로 깃(Git)이다.
Git 특징
깃에는 다음과 같은 특징이 있다.
1. 특정 시점으로 파일 복구
깃을 사용하는 것은 'ctrl+s'나 'cmd+s' 단축키를 통해 파일 자체를 단순히 '저장'한 것 보다는 파일을 '다른 이름으로 저장'한 것에 가깝다.
덕분에 과거에 저장한(깃 용어로는 '커밋한') 시점 중 하나를 골라 그 시점으로 파일을 되돌릴 수 있다.
특정 시점으로 파일을 돌릴 경우 그 시점 이후에 새로 생성한 파일은 삭제되고, 삭제한 파일은 복구되고, 수정한 사항들도 원래대로 돌아간다.
이를 통해 작업 중 오류가 발생했을 경우 마지막으로 저장한(커밋한) 시점으로 되돌리는 것도 가능하다.
2. 변경 사항만 저장
그런데 파일을 통째로 저장하는 것과 다르게, 깃은 문서의 변경된 사항들만 저장한다.
특정 시점의 A파일, B파일,C파일을 통째로 저장하는 것이 아니라, 'A파일에서 ~가 추가됨', 'B파일에서 ~가 삭제됨'처럼 저장하는 것이다. C파일에 변경된 사항이 없다면 A파일, B파일의 수정 내역만 저장된다. 덕분에 용량을 적게 차지할 뿐만 아니라 빠른 속도를 자랑한다.
3. 오프라인 작업 가능, 협업이 쉬움
깃은 원격 저장소와 로컬 저장소라는 두 종류의 저장소(Repository)를 제공한다.
로컬 저장소(Local Repository)는 내 PC에 파일이 저장되는 개인용 저장소이고, 원격 저장소(Remote Repository)는 원격 저장소 서버에 파일을 올려 여러 사람이 공유할 수 있도록 하는 저장소이다.
평소 작업은 내 컴퓨터로 하며 컬 저장소에 필요한 내용을 저장하고, 작업한 내용을 공개하고 싶을 때 원격 저장소에 업로드 하는 방식이기 때문에 오프라인에서도 작업할 수 있다.
또한 코드 몇 줄로 다른 사람이 작업한 파일을 원격 저장소에서 가져와 수정할 수 있고, 수정한 파일을 업로드 할 땐 누가, 어떻게 건드렸는지까지 기록되기 때문에 프로젝트를 하며 다른 사람과 협업할 때도 편리하게 사용할 수 있다.
Github
2008년 시작된 무료 Git 저장소, '오픈 소스 소프트웨어의 성지', '개발자들의 놀이터'라고 불리기도 한다.
2018년엔 마이크로소프트에 인수되었다고 한다.
말 그대로 Git을 저장하는 저장소이다. 위에 말한 원격 저장소(Remote Repository) 중 대표적인 곳이라고 할 수 있다.
가장 쉬운 비유로, 제작한 영상을 올리고 설정에 따라 다른 사람들도 볼 수 있게 하는 유투브 같은 곳이다.
전 세계 사람들이 Github에 올려진 프로젝트를 다 볼 수 있기 때문에 코드에서 잘못된 부분들을 수정하거나, 더 좋은 기능을 구현하는 코드를 제공받을 수도 있다.
다른 사람의 프로젝트의 도움을 주거나, 내가 진행하고, 참여했던 모든 프로젝트들이 기록되기 때문에 깃허브를 관리하는 것 자체가 포트폴리오가 될 수도 있다고 한다.
참고
: youtube 얄팍한 코딩사전 'Git은 뭐고 Github은 뭔가요?'
'Dev > Git & GitHub' 카테고리의 다른 글
Jekyll을 사용해 Github Page 만들기 - (2) Jekyll project 구조 (0) | 2023.05.12 |
---|---|
Jekyll을 사용해 Github Page 만들기 - (1) jekyll theme 적용하기 (0) | 2023.05.11 |
GitHub 프로필 꾸미기: productive box, stats box (0) | 2022.05.02 |