ตัวอย่างบทเรียน

첫 번째 저장소: init, add, commit과 인덱스의 마법

첫 번째 저장소를 만들면서 바로 많은 이들이 수년간 이해하지 못하는 개념인 스테이징 영역(인덱스)을 경험하게 됩니다. 이 '중간 계층'이 작업 폴더와 히스토리 사이에서 왜 필요한지, 그리고 add → commit의 두 단계 시스템이 어떻게 커밋을 의미 있고 우연이 아닌 것으로 만드는지 예제를 통해 살펴보겠습니다.

저장소 스테이징 영역 커밋
คุณจะเรียนรู้อะไรในบทเรียนนี้
  • 스테이징 영역이 왜 존재하는지 이해하고, 어떻게 원자적이고 의미 있는 커밋을 만드는 데 도움이 되는지 알게 됩니다.
  • 저장소를 생성하고, 파일을 인덱스에 추가하며, 올바른 메시지로 첫 번째 커밋을 기록할 수 있습니다.
  • git add -p를 사용하여 파일의 변경 사항 중 일부만 커밋에 포함시키는 방법을 배웁니다.

จุดเริ่มต้นของบทเรียน

첫 번째 리포지토리 만들기

  • git init은 숨겨진 .git 폴더를 생성합니다
  • .git 폴더에는 모든 변경 내역이 저장됩니다
  • 리포지토리는 어떤 폴더에서든 만들 수 있습니다
  • 기존 파일은 추적되지 않는 상태가 됩니다
  • 비유: 새 노트에 일기 쓰기를 시작하는 것

프로젝트를 책으로, 리포지토리를 모든 수정 사항이 저장되는 초안으로 상상해보세요. git init을 실행하면 폴더에 숨겨진 .git 디렉토리가 생깁니다. 이것이 리포지토리입니다. 그 안에 Git은 모든 변경 내역, 메타데이터, 설정을 저장합니다. 중요한 점은 리포지토리를 언제든지 만들 수 있으며, 폴더에 이미 파일이 있어도 된다는 것입니다. 파일들은 그저 추적되지 않는 상태가 되고, 나중에 추가하면 됩니다. 이는 일기장을 시작하는 것과 비슷합니다. 새 노트를 준비했지만, 어떤 기록을 남길지는 아직 정하지 않은 상태입니다.

.git 내부 들여다보기

  • objects: 파일과 커밋의 압축된 데이터
  • refs: 북마크와 같은 브랜치와 태그 포인터
  • HEAD: 히스토리에서의 현재 위치
  • config: 리포지토리 설정
  • hooks: 자동화를 위한 스크립트

.git 폴더 안을 들여다봅시다. 여기에 Git의 모든 마법이 숨어 있습니다. objects 디렉토리에는 모든 파일과 커밋이 압축된 형태로 저장됩니다. refs 폴더에는 브랜치와 태그에 대한 포인터가 들어 있습니다. 책의 북마크와 같습니다. HEAD 파일은 히스토리에서 현재 위치를 나타냅니다. config 파일에는 이 리포지토리의 설정이 저장됩니다. hooks도 있는데, 특정 이벤트에서 자동으로 실행되는 스크립트입니다. Git은 초기화할 때 이 모든 것을 자동으로 만듭니다. 직접 볼 일은 거의 없지만, 구조를 이해하면 복잡한 상황에서 도움이 됩니다.

실습: 리포지토리 만들기

  • 프로젝트 폴더에서 터미널을 엽니다
  • git init을 실행합니다
  • ls -la로 .git 생성 확인
  • Windows: dir /ah 사용
  • 완료! 폴더가 버전 관리 하에 들어갔습니다

프로젝트 폴더에서 터미널을 엽니다. git init 명령어를 입력하고 Enter를 누르세요. 빈 리포지토리가 초기화되었다는 메시지가 나타납니다. 작동이 잘 되었는지 확인하려면 ls -la 명령어를 실행하세요. 숨겨진 .git 폴더가 보여야 합니다. Windows를 사용한다면 dir /ah 명령어를 사용하세요. 축하합니다! 이제 폴더가 버전 관리 하에 있습니다. 앞으로 여러분이 할 모든 변경 사항을 Git이 추적할 수 있습니다. 리포지토리가 생성되었으니, 이제 Git이 파일을 어떻게 분류하는지 이해하는 것이 중요합니다. 이것이 Git 작동의 핵심입니다.

# 프로젝트 폴더를 만들고 이동합니다
mkdir my_first_repo
cd my_first_repo

# 리포지토리 초기화
git init

# .git 생성 확인
ls -la | grep .git

บทเรียนฉบับเต็มใช้ได้เมื่อสมัครสมาชิก

ฉบับเต็มมีสไลด์เพิ่มอีก 20 สไลด์

วิดีโอ สไลด์ทั้งหมด โน้ต แบบทดสอบ AI ติวเตอร์ และการสัมภาษณ์จะเปิดหลังเข้าสู่ระบบและสมัครสมาชิก

เข้าสู่ระบบหรือลงทะเบียน สมัครสมาชิก

เนื้อหาบทเรียน

  1. 첫 번째 리포지토리 만들기
  2. .git 내부 들여다보기
  3. 실습: 리포지토리 만들기
  4. 파일의 세 가지 상태: 왜 필요한가
  5. 작업 디렉토리: 창작의 공간
  6. 인덱스: 변경 사항을 의미 있는 단위로 모으기
  7. 커밋: 히스토리를 영원히 저장하기
  8. Git 인덱스: 커밋을 위한 중간 영역
  9. 특정 파일을 인덱스에 추가하기
  10. 모든 변경 파일 추가하기
  11. Git에서 커밋이란 무엇인가
  12. 첫 번째 커밋 만들기
  13. 좋은 커밋 메시지 작성법
  14. 혼합 변경 사항의 문제
  15. Git add -p 실제 사용
  16. 패치 읽는 방법
  17. add 없이 커밋이 작동하지 않는 이유
  18. 하나의 작업은 하나의 커밋으로
  19. 1년 후에도 이해되는 커밋 메시지
  20. 첫 번째 저장소 만들기
  21. 인덱스: 코드와 커밋 사이
  22. 의미 있는 커밋 만들기
  23. 첫 번째 커밋: 그 다음은?

บทความเกี่ยวกับบทเรียนนี้

บทเรียนทั้งหมดในคอร์สนี้

  1. 소개: 완전 초보에서 자신 있는 개발자로 성장하기 위한 Git
  2. Git가 왜 필요한가? — 취업에 왜 필수인가
  3. Git 설치 및 설정: 첫 실행을 위한 준비
  4. 첫 번째 저장소: init, add, commit과 인덱스의 마법
  5. 히스토리 읽기: log, diff, show 및 과거 탐색
  6. 브랜치: 코드의 평행 현실
  7. 오류 취소하기: restore, reset, revert — 올바른 방법과 위험한 방법
  8. GitHub 및 원격 저장소: 클라우드에 코드 저장하기
  9. 팀워크: 포크, 기능 브랜치 및 풀 리퀘스트
  10. 병합 충돌: 당황하지 말고 이해하고 해결하기
  11. 실제 팀의 Git 프로세스: 어떤 워크플로우를 선택할까
  12. 고급 도구: 리베이스, 스태시, 체리픽 및 태그
  13. 최종 프로젝트: 실제 팀 개발 시뮬레이션