Git 스쿨 · FluxGit

직접 연습하며 Git 배우기

대화형 저장소에서 일상적인 Git 문제를 해결하세요. 명령을 실행하고 그래프의 변화를 확인한 뒤 가이드와 동영상으로 더 배울 수 있습니다.

브라우저에서 연습하기

학습 주제를 선택하거나 자유롭게 탐색하세요. 제안된 Git 명령을 실행하며 저장소의 변화를 확인하세요.

실습은 브라우저 메모리 안의 가상 저장소를 사용합니다. 내 파일에 접근하거나 실제 원격 저장소에 연결하지 않습니다.

정해진 목표 없이 작은 저장소를 탐색하세요. 지원되는 명령을 실행하고 동료가 푸시할 때 어떤 변화가 생기는지 확인하세요.

이 시뮬레이터는 Git 명령의 일부를 지원합니다. 지원하지 않는 명령은 터미널에서 제한을 설명합니다.

G9

잘못된 브랜치에 커밋했어요

feature/discounts에 있어야 할 커밋을 main에 만들었고 아직 푸시하지 않았습니다.

"Apply discounts"를 feature/discounts로 옮기고 main에서는 제거하세요.

G4

마지막 커밋 수정: 메시지와 빠뜨린 파일

마지막 커밋 메시지는 "Add stylsheet"이고 style.css도 빠져 있습니다. 아직 푸시하지 않았습니다.

style.css와 올바른 메시지 "Add stylesheet"를 포함한 커밋으로 바꾼 뒤 푸시하세요.

G5

푸시 전후의 커밋 되돌리기

없애야 할 커밋이 있습니다. 하나는 내 컴퓨터에만 있고, 그보다 오래된 다른 커밋은 이미 푸시했습니다.

로컬 커밋을 되돌린 다음 공유 기록을 다시 쓰지 않고 푸시한 커밋도 되돌리세요.

G8a

git reset --hard 되돌리기

git reset --hard HEAD~2를 실행한 뒤 커밋 두 개가 사라졌습니다.

잃어버린 커밋을 찾아 main을 원래 위치로 되돌리세요.

G6

병합 충돌 해결하기

main과 feature/title이 index.html의 같은 줄을 변경했습니다.

feature/title을 main에 병합하고 원하는 제목을 남기세요.

G10

분리된 HEAD: 작업 보존하기

이전 커밋을 체크아웃한 뒤 그곳에서 새 커밋을 만들자 Git이 "HEAD detached"라고 표시합니다.

커밋을 브랜치에 연결해 참조를 남기세요.

G11

내 브랜치와 origin이 갈라졌어요

내가 커밋하는 사이 동료가 커밋을 푸시했습니다. git status는 내 브랜치와 origin/main이 갈라졌다고 표시합니다.

동료의 커밋을 가져오고 그 뒤에 내 커밋을 다시 적용한 후 푸시하세요.

G12

미완성 작업을 남겨 두고 브랜치 전환하기

main에서 작업 중인데 지금 hotfix의 문제를 고쳐야 합니다.

작업을 잠시 보관하고 hotfix에서 수정한 뒤 돌아와 복구하세요.

G8b

삭제한 Git 브랜치 복구하기

git branch -D로 feature/search를 삭제했습니다. 다른 사람에게 없는 커밋이 들어 있었습니다.

feature/search와 그 커밋을 복구하세요.

Git 스쿨 · G6

브라우저에서 연습하기

main과 feature/title이 index.html의 같은 줄을 변경했습니다.

목표: feature/title을 main에 병합하고 원하는 제목을 남기세요.

실습은 브라우저 메모리 안의 가상 저장소를 사용합니다. 내 파일에 접근하거나 실제 원격 저장소에 연결하지 않습니다.

연습할 명령

이 시뮬레이터는 Git 명령의 일부를 지원합니다. 지원하지 않는 명령은 터미널에서 제한을 설명합니다.

git merge feature/title
cat index.html
echo "<h1>Our Best Shop</h1>" > index.html
git add index.html
git commit --no-edit

FluxGit으로 해결하기

  • 병합 전 Operation Plan이 실제 브랜치 사이의 충돌을 예측합니다.
  • 3방향 편집기에서 양쪽 내용과 결과를 확인하세요. 해결됨으로 표시하거나 마음이 바뀌면 병합을 실행 취소할 수 있습니다.
FluxGit 다운로드 Git 스쿨
Git에서 파일 일부만 커밋하기

Git에서 파일 일부만 커밋하기

같은 파일에 버그 수정과 디버그 출력이 있다면 수정만 스테이징하세요. Git의 스테이징 영역, FluxGit의 Stage change, git add -p를 설명합니다.

가이드 읽기튜토리얼 보기
Git worktree와 submodule: 무엇을 언제 사용할까

Git worktree와 submodule: 무엇을 언제 사용할까

worktree와 submodule? 서로 다른 문제를 해결합니다. worktree는 같은 저장소의 두 번째 작업 폴더입니다. submodule은 별도 저장소를 특정 커밋에 고정해 내 저장소 안에 포함하는 방식입니다.

가이드 읽기튜토리얼 보기

FluxGit으로 해결하기

대화형 저장소에서 일상적인 Git 문제를 해결하세요. 명령을 실행하고 그래프의 변화를 확인한 뒤 가이드와 동영상으로 더 배울 수 있습니다.

FluxGit 다운로드