반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- junit
- IntelliJ
- input
- CSS
- 자바
- list
- Java
- 단위테스트
- Array
- json
- 자바문법
- 이클립스
- javascript
- 정규식
- HashMap
- java테스트
- string
- html
- ArrayList
- 인텔리제이
- Visual Studio Code
- Eclipse
- 자바스크립트
- 문자열
- js
- vscode
- 배열
- 테스트자동화
- math
- junit5
Archives
- Today
- Total
어제 오늘 내일
[Git] 파일 기록하기: git add와 git commit의 차이점 본문
git init으로 저장소를 만들었다면, 이제 실제로 파일의 변경 사항을 기록해 볼 차례입니다. Git은 특이하게도 "기록해!"라고 하면 바로 기록되지 않고, 두 단계를 거칩니다. 왜 그런지 아주 쉽게 설명해 드릴게요.
1. 왜 두 번에 나눠서 하나요? (비유로 이해하기)
Git으로 파일을 기록하는 과정은 '장바구니에 담기'와 '결제하기'로 비유할 수 있습니다.
- git add: 쇼핑몰에서 살 물건을 장바구니에 담는 것입니다. (아직 돈을 낸 건 아니죠!)
- git commit: 장바구니에 담긴 물건들을 한꺼번에 결제하여 주문을 완료하는 것입니다. (영구적인 기록 생성)
2. 1단계: git add (장바구니에 담기)
내 폴더(Working Directory)에서 파일을 수정했다면, Git에게 "이 파일들의 변화를 기록할 거야"라고 알려줘야 합니다. 이 공간을 Staging Area(스테이징 영역)라고 부릅니다.
# 특정 파일 하나만 담기
git add index.html
# 변경된 모든 파일을 한꺼번에 담기
git add .
- 꿀팁: 수정은 10개 파일을 했지만, 그중 3개만 먼저 기록하고 싶을 때
git add를 통해 선택적으로 담을 수 있습니다.
3. 2단계: git commit (기록 완료하기)
장바구니에 담긴 파일들을 실제로 저장소(Local Repository)에 영구적으로 기록하는 단계입니다. 이때 반드시 어떤 작업을 했는지 설명(메시지)을 남겨야 합니다.
git commit -m "메인 페이지 레이아웃 수정"
- Commit 메시지: 나중에 과거의 기록을 찾아볼 때 "이때 뭘 했더라?"를 알 수 있게 해주는 아주 중요한 단서입니다.
4. 현재 상태 확인하기 (git status)
내가 지금 장바구니에 뭘 담았는지, 수정했는데 깜빡하고 안 담은 건 없는지 궁금할 때 쓰는 명령어입니다.
git status

- 빨간색: 수정은 됐지만 아직 장바구니(
add)에 안 담긴 파일 - 초록색: 장바구니에 잘 담겨서
commit대기 중인 파일
5. 한눈에 보는 흐름도
- 파일 수정: 코드 열심히 짜기 (Working Directory)
- git add: 기록할 파일 선택 (Staging Area)
- git commit: 설명과 함께 저장 (Local Repository)
📝 요약
git add는 기록할 파일을 준비시키는 과정이다.git commit은 준비된 파일들을 하나의 버전으로 확정 짓는 과정이다.git status를 수시로 입력하며 현재 상태를 체크하는 습관을 들이자!
이제 내 컴퓨터에 소중한 첫 번째 Commit이 남았습니다!
하지만 아직 이 기록은 내 컴퓨터에만 있죠.
다음 포스팅에서는 이 기록을 세상 밖으로(GitHub로) 보내는 git push에 대해 알아보겠습니다.
반응형
'IT > Git' 카테고리의 다른 글
| [Git] 협업의 핵심, Branch 완벽 이해하기 (0) | 2026.02.02 |
|---|---|
| [Git] 내 소중한 코드 백업하기: GitHub 연결과 Push (0) | 2026.02.01 |
| [Git] 빈 폴더를 저장소로 만들기: git init 완벽 가이드 (1) | 2026.01.31 |
| [Git] 내 컴퓨터 vs 서버: 로컬 저장소와 원격 저장소 완벽 비교 (0) | 2026.01.31 |
| [Git] 이메일, 사용자이름 확인 및 변경, 삭제 (0) | 2026.01.30 |
Comments
