
Git을 처음 접했을 때 나는 이게 정확히 어떤 개념인지 잘 이해가 되질 않았다.
그냥 개발자들 Git 많이 쓴다던데~ 그거 필수라던데~ 라는 말만 들어보고 어떻게 써야 할지는 감조차 오지 않았다.
그래서 제대로된 공부를 시작하기 전에 Git을 먼저 이해해 보자고 생각하고
얕지만 공부를 해봤고 다양한 시행착오도 겪어봤다. 그리고 현재 나는 Git을 사용하고 있다.
단순 버전 관리용도로만 사용하고 있지만 좀 더 제대로 된 개념 이해와 사용법에 더욱 익숙해지기 위해
Git의 사용법을 글로 남겨보려고 한다.
Git이란?
Git은 리누스 토르발스라는 개발자가 개발한 분산형 버전 관리 시스템(VCS)이다.
여기서 분산형 버전 관리 시스템이라는 말이 어떤 뜻이냐면 내 코드의 버전을 관리할 수 있다는 얘기이다.

일상적으로 우리가 문서작업이나 코드 작업을 하면 위의 사진처럼 다양한 수정사항들이 생긴다.
이렇게 수정사항들을 각각의 파일로 저장하여 관리한다면 언젠가는 작성자 본인도 알아보기 힘들 정도로
많은 파일이 생기기도 한다. Git은 이럴 때 사용하면 되는 프로그램이다.
Git은 지정한 구역의 변경사항에 대해 모든 기록을 남겨준다.
내가 언제, 어느 부분을 어떻게 수정했는지 기록하고 필요하다면 해당 부분으로 돌아가서 다시 작업할 수도 있다.
여러 파일을 만들 필요 없이 내가 작업하고 있는 파일 하나면 언제든 돌아갈 수 있는 것이다.
Git Hub란?

개발을 공부하고 있다면 Git Hub라는 사이트도 많이 들어봤을 것이다.
해당 사이트는 위에 설명했던 Git을 원격으로 공유가 가능한 원격저장소이다.
Git을 단독으로만 사용한다면 로컬(컴퓨터)에만 해당 기록을 저장하지만 GitHub를 사용한다면
언제든 온라인에서 내 코드나 협업자의 코드를 공유하고 관리할 수 있다.
Git의 저장영역

Git은 자체적인 가상의 저장 영역을 가지고 있다.
어떤 코드를 수정하는 순간 Git은 해당 파일의 변화를 감지하는데 그렇게 생긴 변경사항을 무조건적으로 기록에 남기는 게 아니라 3가지 영역을 거쳐 저장하게 된다. 무분별한 기록을 막기 위함이다.
위의 사진에 나온 LOCAL부분을 보면 세 가지 공간이 보인다.
Working Directory(작업 디렉토리)는 말 그대로 우리가 코딩을 하는 공간이다. 변경사항이 있다면 우선 Git은 해당 부분에서 파일의 변화를 감지하게 된다.
Staging Area(스테이징 영역)은 우리가 버전을 기록하기 전에 임시로 거치는 저장 공간이다. 작업 디렉토리에서 스테이징 영역으로 파일을 이동시키는 것을 Git add라고 부른다.
Repository(로컬 저장소)는 최종적으로 우리가 버전을 기록하고 관리하는 곳이다. 스테이징 영역에서 준비된 파일들을 수정사항에 대한 메세지를 남겨 버전별로 기록할 수 있게 된다. 이렇게 버전을 기록하는 행위를 commit(커밋)이라고 부른다.
사진의 오른쪽에 있는 항목은 REMOTE라고 쓰여있는데 해당 부분이 우리가 흔히 아는 GitHub(원격저장소) 공간이다.
리모트에 커밋한 내용을 반영하는 것을 Push, 가져오는 것을 Pull이라고 부르고 있다.
Git의 파일 상태

Git은 내가 갖고 있는 파일을 본인만의 방식으로 구분하여 관리하고 있다.
먼저 Untracked는 말 그대로 파일을 추적하고 있지 않은 상태로 Git은 모르는 새로 만든 파일을 뜻한다.
Unmodified는 이미 커밋이 되어 아무 변경사항이 없는 파일을 부르는 말이다.
Modified는 이미 커밋되어 있던 파일이 변경사항이 생겼을 때 부르는 말이다.
Git 다운로드 및 초기 세팅
Git
git-scm.com
해당 링크를 통해서 Git을 설치해 줄 수 있다.
깃을 설치하고 폴더를 우클릭하면

이미지에 나와있는 것처럼 Open Git Bash here라는 항목이 생기게 된다.
여기에 나와있는 Git Bash가 우리가 앞으로 Git을 관리할 터미널이다.
Open Git Bash here를 누르게 되면

해당 이미지처럼 터미널 창이 하나 열리게 되는데 우리는 앞으로 여기에 명령어를 넣어서 Git을 제어하게 된다.
먼저 초기 세팅을 위해 유저명과 이메일을 기입해줘야 한다. 해당 설정을 먼저 하지 않는다면 커밋이 제대로 되지 않는다.
유저명과 이메일을 입력할 때는 연동을 위해 가급적 GitHub의 닉네임과 이메일로 해주는 것이 좋다.
git config --global user.name "(본인 이름)"
git config --global user.email "(본인 이메일)"
해당 명령어를 터미널에 입력하면 세팅이 완료된 것이다.
만약 세팅이 제대로 된 것인지 확인하고 싶다면
git config --global user.name
git config --global user.email
해당 명령어들을 입력하면 본인이 설정한 이름과 이메일이 나오게 된다.
Git으로 파일들을 추적하고 싶다면 해당 폴더를 Git으로 초기화해줘야 한다.
git init
해당 코드를 입력해 주면 숨겨져 있지만. git이라는 폴더가 생긴 것을 확인할 수 있다.

이렇게 해당 폴더를 Git을 사용할 수 있는 상태로 만들어 주었다.
다음 글에서는 Git을 이용해 버전관리를 할 수 있는 법을 작성해보려고 한다.
'개발 > GIT' 카테고리의 다른 글
[Git] - Git Branch와 명령어 (0) | 2025.01.16 |
---|---|
[Git] - Git 시작하기 (feat.기본 명령어) (1) | 2025.01.13 |