Git 실습장
Git Playground
브라우저에서 git 명령을 입력하면 커밋 그래프가 실시간으로 그려집니다. 브랜치·머지·충돌 해결은 물론 rebase·cherry-pick·revert까지, 기본·응용·심화 3단계 30개 미션으로 눈으로 배우는 Git.
🎯 미션 0/33
▶️1. 저장소 초기화
.git 저장소를 만들어 버전 관리를 시작하세요.
git init⬜2. 첫 커밋 만들기
파일을 스테이징하고 첫 커밋을 만드세요. 그래프에 첫 노드가 나타납니다.
git add . → git commit -m "first commit"⬜3. 수정하고 두 번째 커밋
파일 패널에서 파일을 수정(✏️)한 뒤 add → commit. 노드가 한 줄로 쌓입니다.
파일 수정 → git add README.md → git commit -m "..."⬜4. feature 브랜치 만들기
'feature' 라는 이름의 브랜치를 만드세요. 같은 커밋에 라벨이 하나 더 붙습니다.
git branch feature⬜5. feature 브랜치로 전환
HEAD를 feature 브랜치로 옮기세요.
git checkout feature (또는 git switch feature)⬜6. feature 위에서 커밋
feature 브랜치에서 커밋을 만드세요. 그래프에 새 레인(색)이 생깁니다.
feature에서 파일 수정 → git add . → git commit -m "..."⬜7. Fast-forward 머지 관찰
main이 feature보다 뒤처진 상태에서 머지하면 커밋 없이 포인터만 이동합니다.
git checkout main → git merge feature⬜8. 역사 갈라놓기
두 브랜치가 서로 다른 커밋을 갖도록 만드세요 (각 브랜치에서 커밋 1개씩).
main에서 커밋 → git checkout feature → 다른 파일 수정 후 커밋⬜9. 3-way 머지 커밋 만들기
갈라진 두 브랜치를 합쳐 부모가 2개인 머지 커밋을 만드세요 (서로 다른 파일 수정 시 자동 병합).
git checkout main → git merge feature~/project — git 터미널 (↑↓ 히스토리)
🌿 Git 실습장에 오신 것을 환영합니다! 미션 1부터 차례로 진행해 보세요. help 를 입력하면 지원 명령을 볼 수 있어요.
$
📊 저장소 상태
아직 저장소가 없습니다 — git init 으로 시작하세요.
📁 가상 파일 (working tree)
- README.mdU 미추적
- app.jsU 미추적
🕸 커밋 그래프
아직 커밋이 없습니다 — git init 후 첫 커밋을 만들어 보세요 🌱
📒 지원 명령 치트시트 (시뮬레이터가 이해하는 전부)
git init | 저장소 초기화 (기본 브랜치 main) |
git status | 작업 트리/스테이징 상태 확인 |
git add <파일> | . | 변경 사항 스테이징 (삭제도 스테이징됨) |
git commit -m "메시지" | 스테이징된 변경으로 커밋 생성 |
git commit --amend [-m] | 마지막 커밋 수정 (sha가 바뀜!) |
git log [--oneline] [--all] | 커밋 이력 보기 |
git branch [이름] | 브랜치 목록 / 생성 |
git branch -d | -D <이름> | 브랜치 삭제 (-D 강제) |
git checkout <브랜치|sha> | 브랜치 전환 / 떨어진 HEAD |
git checkout -b <이름> | 브랜치 생성 + 전환 (switch -c 동일) |
git merge <브랜치> | FF 또는 3-way 병합 (충돌 시 마커 삽입) |
git merge --abort | 충돌 병합 취소 |
git rebase <브랜치> | 커밋을 대상 브랜치 위로 리플레이 (sha 전부 변경!) |
git rebase --continue | --abort | 충돌 해결 후 계속 / rebase 취소 |
git cherry-pick <sha> | 커밋 하나만 현재 브랜치로 복사 |
git revert <sha> | 반대 변경을 새 커밋으로 (안전한 되돌리기) |
git reset --soft|--mixed|--hard <대상> | HEAD 이동 (HEAD~1, sha 등) |
git restore <파일> | --staged <파일> | 작업 트리 되돌리기 / 스테이징 해제 |
git rm [--cached] <파일> | 파일 삭제 (--cached: 추적만 제외) |
git stash / pop / list / drop | 변경 임시 보관 / 복원 (pop 충돌 가능) |
git tag [이름] | 태그 목록 / 생성 |
git diff [--staged] | 변경 내용 라인 단위 비교 |
git shortlog -sn / blame <파일> | 작성자별 커밋 수 / 파일 단위 blame |
git config user.name|user.email [값] | 커밋 작성자 설정 |
ls / cat <파일> / clear / help | 보조 명령 |
git switch [-c] <브랜치> | 브랜치 전환 전용 명령 (-c: 생성+전환) |
git cherry-pick|revert --abort | 충돌 난 cherry-pick / revert 를 취소하고 이전 상태로 복원 |
git log --graph | 히스토리를 그래프로 보기 (여기서는 그래프 패널 참고) |
git reset | 스테이징 전체 해제 (기본값: --mixed, 대상 HEAD) |
이 실습장은 학습용 시뮬레이터라 위 명령만 지원해요. blame은 파일 단위, 충돌 감지는 파일 단위 3-way 등 실제 git보다 단순화된 부분이 있습니다. 더 많은 실무 명령 검색은 Git 명령어 찾기 도구를 이용하세요.