어느정도 프로그래밍을 배우다보면 등장하는 단어가 있습니다. 바로 깃(Git) 이죠. 그런 깃을 다뤄볼까 해서 새롭게 카테고리를 만들어 보았습니다.
0.깃 설치
서론의 깃 공식홈페이지에서 본인 사용환경에 맞는 Git을 다운로드 할 수 있습니다. 처음 배울땐 설치과정에서 이것저것 물어보지만 Next만 해도 충분합니다. Git 설치가 완료되면 Git Bash라는 것이 함께 설치되게 되는데 이 Git Bash를 이용하도록 하겠습니다. 이 부분에 대해서는 이정도만 다루겠습니다.
1. 깃이란?
깃이란, 컴퓨터 파일들의 변경사항을 추적하고 기록하기 위한 버전 관리 시스템입니다. 깃은 보통 버전관리, 백업 그리고 협업을 위해서 많이 사용합니다.
버전 관리는 프로그래밍을 시작하면서 우리는 새로운 파일을 만들고, 작성하고, 수정하고, 삭제합니다. 그럴때 마다 코드들을 따로 저장해두고 주석 등을 이용해서 언제 어느 부분을 어떻게 수정했는지 기록하면 기억하기도 어렵고 관리하기도 어려울 것입니다. 그래서 깃을 이용해서 간편하고 구체적으로 버전을 관리하게 됩니다.
백업은 요즘같이 컴퓨터를 이용해서 거의 모든 것을 처리하는데 있어서 중요한 작업입니다. 언제, 어디서 컴퓨터(혹은 자료를 저장해둔 저장 장치)가 고장이 날지 예측할 수 없기 때문입니다. 그래서 물리적으로는 외장 메모리 등을 이용하거나 클라우드 처럼 온라인 서비스를 이용하게 됩니다. 깃은 이러한 온라인 백업 서비스와의 연동을 편하게 할 수 있도록 기능을 제공하고 있습니다. 대표적으로 깃허브(GitHub)라는 서비스를 이용하게 됩니다. 대부분의 깃 이용자들은 깃을 통해 깃허브에 업로드하여 백업하는 방식을 사용합니다.
협업은 위에서 언급된 깃허브같은 서비스를 통해 모두가 한 파일에 접근하여 작업할 수 있게 해줍니다. 깃을 통해 업로드하고, 가져와서 작업하는 과정을 거치게 됩니다. 이 과정에서 깃으로 누가 언제 어느 부분을 수정했는지 등의 기록이 남기 때문에 작업 과정을 팀원끼리 공유하는데 원활하게 해줍니다. 이때 깃이 여러 사람이 한 파일에 대해 접근해서 수정할 때 발생할 수 있는 문제들을 정리해주는 역할을 하기도 합니다.
2. 깃의 프로세스
깃의 작동 과정입니다. 용어들에 대한 설명은 여기서 간략하게 하고 나중에 직접 과정을 거쳐가 보면서 자세한 설명을 드릴 예정입니다. 각 공간에 대해 간략히 설명하자면 다음과 같습니다.
- Working Directory: 유저가 작업하는 PC의 디렉토리(즉, 현재 작업 중인 공간). 보통 작업 트리라고도 합니다.
- Staging Area: Commit 과정을 거치기 전인 파일과 디렉토리가 있는 공간
- Git Directory: 커밋된 파일, 디렉토리가 저장된 공간
스테이지 픽스라던가 커밋같은 용어가 나오는데 이는 각 과정을 포스팅하면서 그때그때 자세히 다루겠습니다.
또한 깃 디렉토리 다음에 깃허브 등의 원격저장소의 과정도 있습니다. (위 사진은 깃 공식 튜토리얼이라 깃허브는 나오지 않았습니다.)
깃의 기본 내용을 다뤄보았습니다. 다음 포스트부터 깃 공간의 구조라던가 명령어들을 다루기 시작하려고 합니다.
참조
https://ko.wikipedia.org/wiki/%EA%B9%83_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)
https://git-scm.com/book/ko/v2
'Programming > Git' 카테고리의 다른 글
[Git] 커밋, Commit (0) | 2021.06.11 |
---|---|
[Git] 스테이징 (0) | 2021.05.28 |
[Vim] Vim 기초 배우기 (0) | 2021.05.26 |
[Git] 깃과 버전 (0) | 2021.05.25 |
[Git] 깃 시작하기 (0) | 2021.05.24 |
댓글