git init, add, commit, status
저장소를 초기화하고 git add로 변경 사항을 스테이징하며, 커밋을 만들고 git status와 git log를 읽어 변경 이력을 파악합니다.
git init, add, commit, status은(는) CoddyKit의 무료 Frontend Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Frontend Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Frontend Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
버전 관리가 필요한 이유
Git은 시간의 흐름에 따른 코드의 모든 변경 사항을 추적합니다. 무엇이 언제, 왜 변경되었는지 확인할 수 있습니다. 실수는 복구할 수 있습니다. 여러 사람이 같은 코드베이스에서 작업할 수 있습니다. 모든 전문 팀은 Git을 사용합니다.
git init — 저장소 시작하기
어떤 폴더에서든 git init을 실행하면 Git 저장소가 초기화됩니다. Git은 전체 프로젝트 기록을 저장하는 숨김 .git 디렉터리를 만듭니다.
mkdir my-project && cd my-project
git init
# Initialized empty Git repository in ./my-project/.git/세 영역
Git에는 세 영역이 있습니다. 작업 디렉터리(편집하는 파일), 스테이징 영역(다음 커밋 대상으로 표시한 파일), 저장소(커밋된 기록)입니다. 스테이징 영역을 사용하면 정밀한 커밋을 만들 수 있습니다.
git status — 무엇이 변경되었습니까?
git status는 추적되지 않거나 수정되었거나 스테이징된 파일을 보여 줍니다. 현재 상태를 파악하려면 작업 과정에서 이 명령을 자주 사용하십시오.
git status
# Output:
# On branch main
# Changes not staged for commit:
# modified: index.html
# Untracked files:
# styles.cssgit add — 변경 사항 스테이징하기
git add filename은 특정 파일을 스테이징합니다. git add .는 현재 디렉터리의 모든 변경 사항을 스테이징합니다. git add -p는 변경 사항을 대화형으로 스테이징합니다(한 덩어리씩).
git add index.html # stage one file
git add src/ # stage a directory
git add . # stage everything
git add -p # interactive staginggit commit — 스냅샷 저장하기
git commit -m 'message'는 스테이징된 변경 사항의 영구 스냅샷을 만듭니다. 메시지에는 무엇을 변경했는지가 아니라 변경한 이유를 설명해야 합니다. 각 커밋에는 고유한 SHA 해시가 있습니다.
git commit -m 'feat: add user authentication form'
git commit -m 'fix: correct email validation regex'
git commit -m 'refactor: extract validation into helper function'컨벤셔널 커밋
많은 팀은 컨벤셔널 커밋 형식을 사용합니다. type(scope): description과 같은 형식입니다. 일반적인 유형으로는 feat, fix, refactor, test, docs, chore, perf가 있습니다. 이를 통해 변경 로그 생성과 의미적 버전 관리를 자동화할 수 있습니다.
feat(auth): add Google OAuth login
fix(cart): prevent duplicate item addition
docs(api): add rate limit documentation
chore(deps): upgrade React to 18.3git log — 기록 보기
git log는 커밋 기록을 보여 줍니다. git log --oneline은 커밋마다 한 줄로 표시하는 간결한 보기를 제공합니다. git log --graph는 브랜치 구조를 그려 줍니다.
git log --oneline --graph
# * a1b2c3d feat: add dark mode toggle
# * d4e5f6g fix: resolve mobile nav overflow
# * 7h8i9j0 refactor: extract theme hookgit diff — 변경 사항 확인하기
git diff는 스테이징되지 않은 변경 사항을 보여 줍니다. git diff --staged는 스테이징된 변경 사항을 보여 줍니다. git diff HEAD는 마지막 커밋 이후의 모든 변경 사항을 보여 줍니다.
.gitignore 파일
.gitignore에 버전 관리에서 제외할 파일과 디렉터리를 나열합니다. node_modules, .env, dist, build 디렉터리는 항상 무시하도록 설정하십시오. GitHub는 모든 언어와 프레임워크에 사용할 수 있는 gitignore 템플릿을 제공합니다.
# .gitignore
node_modules/
dist/
.env
.env.local
*.log
.DS_Store
coverage/git restore — 스테이징되지 않은 변경 사항 취소하기
git restore filename은 작업 디렉터리의 파일 변경 사항을 삭제하고 마지막으로 커밋된 버전으로 되돌립니다. 되돌릴 수 없으며 변경 사항이 손실됩니다.
git restore index.html # discard unstaged changes
git restore --staged file.js # unstage without losing changes빠른 확인
git add .는 무엇을 합니까?
복습: Git 핵심 명령
git init은 저장소를 시작합니다. git status는 현재 상태를 보여 줍니다. git add는 파일을 스테이징합니다. git commit은 메시지와 함께 스냅샷을 저장합니다. git log는 기록을 보여 줍니다. git diff는 변경 사항을 보여 줍니다. .gitignore는 파일을 제외합니다. 무엇을 변경했는지가 아니라 왜 변경했는지를 설명하는 의미 있는 커밋 메시지를 항상 작성하십시오.
자주 묻는 질문
“git init, add, commit, status” 강의는 무료인가요?
네 — “git init, add, commit, status” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Frontend Academy 강의 전체를 잠금 해제할 수 있습니다. Frontend Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“git init, add, commit, status”에서 뭘 배우나요?
저장소를 초기화하고 git add로 변경 사항을 스테이징하며, 커밋을 만들고 git status와 git log를 읽어 변경 이력을 파악합니다. 브라우저에서 직접 실행하는 실습 코드로 Frontend Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Frontend Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Frontend Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“git init, add, commit, status” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Frontend Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Frontend Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- git init, add, commit, status
- 브랜치: branch, checkout, merge
- 원격 저장소: push, pull, clone
- GitHub의 풀 리퀘스트 작업 흐름