메인 콘텐츠로 건너뛰기
파일을 고치고 저장했는데, Git에서는 아직 기록하지 않았다고 해요. 커밋했는데 GitHub에는 보이지 않기도 하고요. Git을 처음 배울 때는 작업 파일을 저장하는 일, 내 컴퓨터에 기록을 남기는 일, 다른 사람과 공유하는 일을 먼저 나눠보면 좋아요. 이곳에서는 index.js의 console.log("hello"); 한 줄을 바꾸며 Git을 배워요. 실제 파일 내용과 명령 출력을 비교하면서 변경이 어느 상태에 있는지 따라가요. 자바스크립트를 실행할 필요는 없어서 Node.js나 패키지 설치 없이 진행할 수 있어요.

첫 글부터 읽어보세요

Git은 왜 변경을 기록할까요?

코드를 저장하고 이전 변경을 찾는 상황에서 출발해 스냅샷, 작업 트리, 스테이징, 커밋을 연결해요. Git과 GitHub의 역할도 구분해봐요.
Git 설치나 계정 없이 읽을 수 있어요. 첫 글 끝의 세 장면을 설명할 수 있다면, 파일 저장·로컬 기록·원격 공유의 차이를 잡은 거예요.

직접 첫 기록을 남겨봐요

Git 설치부터 첫 커밋까지

설치를 확인하고 index.js와 README.md를 첫 커밋으로 남겨요. 작성자 설정과 로그인을 구분하고, 상태와 이력으로 결과를 확인해요.
첫 글에서 구분한 파일 저장·로컬 기록을 직접 실행해보는 순서예요. Bash와 Git을 사용하며, GitHub 계정이나 원격 저장소는 필요하지 않아요.

add한 뒤 다시 고치면 어떻게 될까요?

작업 트리, 스테이징 영역, 커밋은 어떻게 다를까요?

같은 console.log 문장을 두 번 고치며 세 상태를 비교해요. diff와 diff —cached를 읽고, 실제 커밋에 담긴 내용까지 확인해요.

이미 남긴 기록은 어떻게 읽을까요?

커밋 이력과 변경 내용은 어떻게 읽을까요?

log로 코드 변경 기록을 찾고 show로 당시 변경과 파일을 읽어요. 두 커밋의 diff와 중간 이력의 차이도 확인해요.

기록하지 않을 파일은 어떻게 고를까요?

.gitignore에 적었는데 왜 계속 보일까요?

임시 로그와 이미 기록한 메모를 비교해요. 제외 규칙의 적용 범위를 확인하고, 작업 파일을 남겨둔 채 추적을 해제해봐요.

브랜치를 만들면 무엇이 달라질까요?

브랜치를 만들면 폴더가 복사될까요?

브랜치와 HEAD의 위치를 읽고 같은 폴더에서 작업을 전환해요. 미커밋 변경이 따라오는 경우와 전환이 거절되는 경우도 비교해봐요.

두 갈래 작업은 어떻게 합칠까요?

두 갈래 작업은 어떻게 합칠까요?

fast-forward와 merge commit을 직접 만들어요. 브랜치 위치와 부모 커밋을 읽고, 두 갈래의 파일 변경이 함께 들어왔는지 확인해봐요.

자동으로 합치지 못하면 어떻게 할까요?

병합 충돌이 나면 어떻게 해결할까요?

같은 줄의 충돌을 직접 만들고 파일 편집·스테이징·병합 완료를 구분해요. 별도 브랜치에서는 병합을 중단해 시작 상태로 돌아와요.

필요한 명령을 바로 찾아봐요

Learn에서는 개념과 실습을 순서대로 익혀요. How-to에서는 실무에 바로 쓸 명령어와 옵션을 찾고, 필요한 이론은 관련 글로 이어서 읽어요.

현재 커밋 해시 확인하기

전체·축약 해시 조회, 축약 길이 지정, 커밋 검증 명령을 바로 찾아 써요.

현재 브랜치와 변경 내용 확인하기

현재 브랜치와 변경 파일을 조회하고, 스테이징 전후 diff와 detached HEAD를 확인해요.