깃이란 무었일까요??
현대에는 대부분의 정보가 컴퓨터작업으로 만들어지며 데이터로 저장됩니다.
이러한 데이터를 효과적으로 관리하기 위해 깃이 사용됩니다.
구체적으로 어떤 사례가 있을까요??
1. 버전관리
또한 대학교 과제할때나 ppt 만들때보면 제목이 제목_수정본.ppt - 제목_수정본2 - 제목_최종본 - 제목_수정본_최종 - 제목_진짜최종 등으로 점점 바뀌게 됩니다.
파일을 같은 이름으로 만들경우 기존의 파일을 덮어버리게 되고 나중에 이전에 어디서 수정했는지 알기 힘들기 때문에 기존파일은 남겨놓고 새로운 파일을 저장하기 위해 이같은 방법을 사용합니다.
대학 과제의 경우 많아야 한학기에 몇개의 과목을 들어서 파일이 많지 않지만 만약 회사에서 서류를 작성하는 과정에서 100개 이상의 파일이 나온다고 생각하면 어떠신가요...
깃은 이러한 불편함을 해결하게 해줍니다.
깃은 저장되는 파일들이 어디에서 수정되었는지 쉽게 알수 있으며 언제 수정되었는지도 알수 있습니다.
2. 백업
생활코딩 유튜브에서 보면 모든 컴퓨터에는 '확실한 것'과 '불확실한 것'이 있다고합니다.
확실한 것은 '컴퓨터는 언젠간 고장난다'가 되고 불확실한 것은 '언제 고장날지 모른다'입니다.
컴퓨터가 고장났는데 그 데이터의 복구가 불가능해진다면 난감해 지겠죠?
이를 해결하기 위해 우리는 백업을 합니다.
다른컴퓨터에 데이터를 복제해놓기도 하며 USB나 외장하드와 같이 PC가 아닌 외장 데이터 저장소에 저장을 하기도합니다.
또한 비교적 최근에는 n드라이브나 구글 드라이브 등과 같은 인터넷 서비스를 이용하기도 합니다.
백업 공간을 제공하는 인터넷 서비스 중에는 깃 파일을 위한 것도 여럿 있습니다.
이를 깃의 원격저장소(온라인저장소)라고 합니다.
이러한 서비스로 사용되고 있는 대표적인 것이 바로 깃허브 입니다.
3. 협업
프로젝트를 수행해본 컴퓨터 관련 학과 전공자이거나 개발자 이면 대부분 공감하실겁니다.
하나의 프로젝트를 여러명이 수행 할 때 최근의 경우 코로나로 인해 자택근무를 수행한다고 가정해봅니다.
외장장치를 이용해서 코드나 데이터를 공유하는것이 힘들겠죠.
하지만 인터넷에 원격저장소가 있다면 어디에서든지 코드 및 데이터의 공유가 가능합니다.
A, B, C 세명이 하나의 프로젝트를 수행한다고 생각하면 A가 작업을 끝내고 원격 저장소에 올리면 B와 C가 원격 저장소에 있는 문서를 내려 받아 작업할수 있게 됩니다.
또한 파일이 수정되어도 이전에 저장했던 기록이 남아 있기때문에 이후 버그가 발생했을때도 문제 해결이 비교적 수월하게됩니다.
깃 프로그램의 종류
1. 깃허브 데스크탑(GitHub Desktop)
깃허브 데스크탑은 깃 온라인 저장소의 복잡한 프로그램 사용법을 간편하게 GUI로 제공해줍니다.
그래픽으로 구성되어 있기때문에 배우기 쉽고 사용하기 편리하다는 장점이 있지만 자주 쓰이는 기본적인 기능만 구현되어 있기 때문에 깃의 고급사용자가 사용하기는 아쉬울수 있습니다.
2. 소스트리(Source Tree)
소스트리도 GUI로 되어있는 프로그램입니다.
데스크탑보다 많은 기능이 구현되어있고 사용만 잘한다면 훨씬 더 유용하게 사용할수 있지만 데스크탑과 반대로 사용이 어렵다는 단점이 있습니다.
3. CLI(Command Line Interface)
Command Line Interface는 Command라인에 직접 명령을 입력하는 방식을 말합니다.
그래픽적인 요소가 없기 때문에 사용에 불편하고 명령어를 다 알고 있어야 사용할수 있기 때문에 이용에 어려울수 있다는 단점이 있습니다.
하지만 방법이 익숙해지면 훨씬더 빠르게 깃을 다룰수 있습니다.
대부분의 개발자들도 CLI방식을 이용하고 있다고 합니다.
4. 토스터깃
토터스깃은 윈도우 운영체제 전용 프로그램이라고 합니다.
윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램이라고 하는데 IOS 환경에서 개발을 하는 개발자도 많기 때문에 최근에는 거의 사용되지 않는듯합니다.
본 포스팅은 DO it! 지옥에서 온 문서 관리자 깃&깃허브 입문 도서를 참고하며 공부한 내용을 포스팅 하였습니다.
'Git > Github' 카테고리의 다른 글
[Git & Github] 깃 저장소 만들기(git init) (0) | 2022.06.11 |
---|---|
[Git & GitHub] 환경 설정하기 git config --global(***please tell me who you are) (1) | 2022.06.10 |
[Git] CL 리눅스 기반 명령어 (0) | 2022.06.09 |
[Git & GitHub] 무작정 원격 저장소에 파일 올리기 (0) | 2022.06.06 |
[Git & GitHub] 깃허브 시작하기! ( Git & Git Hub 설치하기) (0) | 2022.06.05 |