Skip to content

작업 환경과 핵심 명령어

Git의 4가지 작업 환경

Git에는 코드가 이동하는 4가지 영역이 있습니다. 이 흐름을 이해하면 Git의 핵심을 이해한 것입니다.

영역설명위치
워킹 디렉토리현재 작업하고 있는 컴퓨터 안의 폴더내 PC
스테이징 에어리어버전을 기록할 것들을 모아두는 임시 저장소내 PC (.git 내부)
로컬 리포지토리파일이 저장되는 개인 전용 저장소내 PC (.git 내부)
리모트 리포지토리원격 서버에서 여러 사람과 공유하는 저장소GitHub 등

git init - 저장소 초기화

특정 폴더에서 Git을 사용하겠다고 선언하는 명령어입니다.

bash
# 프로젝트 폴더 생성 및 이동
mkdir git-test
cd git-test

# Git 저장소 초기화
git init

# 숨겨진 .git 폴더 확인
ls -al
# 출력: .git 폴더가 생성됨

.git 폴더

git init을 실행하면 .git이라는 숨겨진 폴더가 생성됩니다. 이 폴더 안에 모든 변경 이력이 저장되고 관리됩니다. 이 폴더를 삭제하면 Git 이력이 모두 사라집니다.

git add - 스테이징에 추가

워킹 디렉토리의 변경사항을 스테이징 에어리어로 올리는 명령어입니다.

bash
# 파일 생성
touch a.txt

# 현재 상태 확인 - Untracked files (빨간색)
git status

# 스테이징에 추가
git add a.txt

# 다시 상태 확인 - Changes to be committed (초록색)
git status

git add의 다양한 사용법

bash
# 특정 파일만 추가
git add a.txt

# 여러 파일 추가
git add a.txt b.txt

# 현재 폴더의 모든 변경 파일 추가
git add .

git commit - 기록 저장

스테이징 에어리어의 파일들을 로컬 리포지토리에 **기록(커밋)**으로 저장하는 명령어입니다.

bash
# 커밋 메시지와 함께 기록
git commit -m "add a.txt"
# 출력: [main 1187d57] add a.txt

커밋의 고유 해시값

커밋을 기록할 때마다 영문과 숫자로 이루어진 40자리 고유 이름이 랜덤으로 붙습니다.

  • 저장소에서는 이 40자리 해시값을 보고 각 커밋을 구분합니다
  • 보통 앞 6~7자리만으로도 커밋을 식별할 수 있습니다

git push - 원격으로 전송

로컬 리포지토리의 커밋들을 리모트 리포지토리(GitHub 등)에 올리는 명령어입니다.

bash
git push

민감 정보 주의

git push로 원격 저장소에 올린 내용은 모든 사람이 볼 수 있습니다 (Public 저장소의 경우). 비밀번호, 집주소 등 민감한 정보는 절대 올리면 안 됩니다.

git status - 상태 확인

현재 Git 저장소의 상태를 확인하는 명령어입니다.

git log - 커밋 이력 확인

지금까지의 커밋 이력을 최신순으로 보여줍니다.

bash
git log
# 커밋 해시, 작성자, 날짜, 메시지가 출력됨
# Q 키로 종료

전체 흐름 실습

파일을 생성하고 변경하여 커밋까지 하는 전체 과정입니다:

실습 명령어 요약

bash
# 1. 저장소 초기화
git init

# 2. 파일 생성
touch a.txt

# 3. 스테이징에 추가
git add a.txt

# 4. 커밋 (기록 저장)
git commit -m "add a.txt"

# 5. 파일 수정 (vim 또는 다른 에디터)
vim a.txt
# → some sentence 입력 → ESC → :wq

# 6. 변경사항 스테이징 및 커밋
git add a.txt
git commit -m "add some sentence to a.txt"

# 7. 커밋 이력 확인
git log

핵심 정리