Git 실습장
Git Playground
브라우저에서 git 명령을 입력하면 커밋 그래프가 실시간으로 그려집니다. 브랜치·머지·충돌 해결·reset·stash까지 15개 미션으로 눈으로 배우는 Git.
🎯 미션 0/15
.git 저장소를 만들어 버전 관리를 시작하세요.
git init파일을 스테이징하고 첫 커밋을 만드세요. 그래프에 첫 노드가 나타납니다.
git add . → git commit -m "first commit"파일 패널에서 파일을 수정(✏️)한 뒤 add → commit. 노드가 한 줄로 쌓입니다.
파일 수정 → git add README.md → git commit -m "..."'feature' 라는 이름의 브랜치를 만드세요. 같은 커밋에 라벨이 하나 더 붙습니다.
git branch featureHEAD를 feature 브랜치로 옮기세요.
git checkout feature (또는 git switch feature)feature 브랜치에서 커밋을 만드세요. 그래프에 새 레인(색)이 생깁니다.
feature에서 파일 수정 → git add . → git commit -m "..."main이 feature보다 뒤처진 상태에서 머지하면 커밋 없이 포인터만 이동합니다.
git checkout main → git merge feature두 브랜치가 서로 다른 커밋을 갖도록 만드세요 (각 브랜치에서 커밋 1개씩).
main에서 커밋 → git checkout feature → 다른 파일 수정 후 커밋갈라진 두 브랜치를 합쳐 부모가 2개인 머지 커밋을 만드세요 (서로 다른 파일 수정 시 자동 병합).
git checkout main → git merge feature같은 파일의 같은 부분을 두 브랜치에서 다르게 수정 → 머지 → <<<<<<< 마커 정리 → add → commit.
충돌 후: 파일 패널에서 마커 정리 → git add <파일> → git commit -m "resolve"마지막 커밋의 메시지를 수정하세요. sha가 바뀐다는 점(= 새 커밋)에 주목!
git commit --amend -m "새 메시지"마지막 커밋을 취소하되 변경 내용은 스테이징에 남기세요. git status로 확인!
git reset --soft HEAD~1브랜치가 아닌 과거 커밋으로 직접 이동해 보세요.
git log --oneline 으로 sha 확인 → git checkout <sha 7자리>작업 중 변경을 stash로 치워 두었다가 pop으로 되살리세요.
파일 수정 → git stash → git stash pop릴리스 태그를 만들고, 다 쓴 브랜치를 삭제하세요.
git tag v1.0 → git branch -d feature🌿 Git 실습장에 오신 것을 환영합니다! 미션 1부터 차례로 진행해 보세요. help 를 입력하면 지원 명령을 볼 수 있어요.
📊 저장소 상태
아직 저장소가 없습니다 — git init 으로 시작하세요.
📁 가상 파일 (working tree)
- README.mdU 미추적
- app.jsU 미추적
🕸 커밋 그래프
📒 지원 명령 치트시트 (시뮬레이터가 이해하는 전부)
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 reset --soft|--mixed|--hard <대상> | HEAD 이동 (HEAD~1, sha 등) |
git stash / pop / list / drop | 변경 임시 보관 / 복원 |
git tag [이름] | 태그 목록 / 생성 |
git diff [--staged] | 변경 내용 라인 단위 비교 |
git config user.name|user.email [값] | 커밋 작성자 설정 |
ls / cat <파일> / clear / help | 보조 명령 |
이 실습장은 학습용 시뮬레이터라 위 명령만 지원해요. rebase, cherry-pick 등 실무 명령 검색은 Git 명령어 찾기 도구를 이용하세요.