Skip to content
Tools/Git 실습장

Git 실습장

Git Playground

브라우저에서 git 명령을 입력하면 커밋 그래프가 실시간으로 그려집니다. 브랜치·머지·충돌 해결·reset·stash까지 15개 미션으로 눈으로 배우는 Git.

🎯 미션 0/15

▶️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
10. 충돌 만들고 해결하기

같은 파일의 같은 부분을 두 브랜치에서 다르게 수정 → 머지 → <<<<<<< 마커 정리 → add → commit.

충돌 후: 파일 패널에서 마커 정리 → git add <파일> → git commit -m "resolve"
11. 커밋 메시지 고치기 (--amend)

마지막 커밋의 메시지를 수정하세요. sha가 바뀐다는 점(= 새 커밋)에 주목!

git commit --amend -m "새 메시지"
12. reset --soft 로 되돌리기

마지막 커밋을 취소하되 변경 내용은 스테이징에 남기세요. git status로 확인!

git reset --soft HEAD~1
13. 떨어진 HEAD 체험

브랜치가 아닌 과거 커밋으로 직접 이동해 보세요.

git log --oneline 으로 sha 확인 → git checkout <sha 7자리>
14. stash로 숨겼다 복원하기

작업 중 변경을 stash로 치워 두었다가 pop으로 되살리세요.

파일 수정 → git stash → git stash pop
15. 태그 달고 브랜치 정리

릴리스 태그를 만들고, 다 쓴 브랜치를 삭제하세요.

git tag v1.0 → git branch -d 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 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 명령어 찾기 도구를 이용하세요.