테마
작업 환경과 핵심 명령어
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 statusgit 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