Preview ng leksyon

브랜치: 코드의 평행 현실

브랜치는 Git의 핵심이지만, 대부분의 초보자가 두려움을 느끼는 부분이기도 합니다. 우리는 브랜치가 파일의 복사본이 아닌 단순한 포인터라는 사실을 통해 브랜치의 미스터리를 풀어보겠습니다. 브랜치 생성, 전환, 변경 사항 병합 방법을 살펴보고, 빠른 전환(fast-forward)과 3방향 병합의 차이점을 실제 예제를 통해 확인합니다.

브랜치 HEAD 병합
Ano ang matututunan mo sa leksyong ito
  • 브랜치가 가벼운 포인터임을 이해하고, 어떤 상황에서든 브랜치를 만드는 것을 두려워하지 않게 됩니다.
  • 브랜치를 생성하고, 전환하며, merge 명령어로 변경 사항을 병합할 수 있습니다.
  • 빠른 전환(fast-forward)과 3방향 병합의 차이점을 구분하고, 각 시나리오가 언제 적용되는지 이해합니다.

Simula ng leksyon

브랜치에서 파일 복사에 대한 오해

  • 브랜치는 파일의 복사본이 아니라 가벼운 포인터입니다.
  • 브랜치 생성은 찰나의 순간에 이루어집니다.
  • 저장 공간에 대한 추가 비용이 없습니다.
  • 모든 브랜치는 동일한 파일로 작업합니다.

브랜치를 만들 때마다 프로젝트 전체가 복사된다고 상상해보세요. 큰 저장소라면 정말 끔찍한 일이겠죠! 다행히 Git은 훨씬 더 똑똑하게 설계되었습니다. 브랜치는 변경 내역에서 특정 커밋을 가리키는 포인터에 불과합니다. 파일이 중복되지 않으므로 브랜치 작업이 즉각적으로 이루어집니다. 이는 코드의 시간적 공간에서 서로 다른 지점을 전환하는 것과 같지, 각 변경 사항에 대해 평행 우주를 만드는 것이 아닙니다.

브랜치의 내부 구조

  • 브랜치 = 커밋 해시가 담긴 텍스트 파일
  • .git/refs/heads/에 저장됨
  • 크기: 정확히 40자
  • 새 브랜치 = 해시가 담긴 새 파일

Git의 내부를 들여다보겠습니다. 각 브랜치는 숨겨진 폴더 .git 안에 있는 단순한 텍스트 파일입니다. 이 파일에는 정확히 40자의 문자, 즉 브랜치의 마지막 커밋 해시가 저장되어 있습니다. 새 브랜치를 만들면 Git은 현재 커밋의 해시를 새 파일에 기록합니다. 프로젝트에 수천 개의 파일이 있더라도 전체 과정은 찰나의 순간에 완료됩니다. 이제 브랜치 전환이 즉시 이루어지는 이유를 아시겠죠?

책의 복사본 대신 책갈피

  • 브랜치는 책의 책갈피와 같습니다.
  • 내용을 복사하지 않습니다.
  • 즉각적인 전환
  • 원하는 만큼 만들 수 있습니다.

책을 읽는 것에 비유해 보겠습니다. 페이지에 책갈피를 꽂을 때 책 전체를 복사하지 않죠? 단지 나중에 돌아올 위치를 표시하는 것뿐입니다. Git의 브랜치도 정확히 똑같이 작동합니다. 코드의 특정 상태를 가리키는 가벼운 표시입니다. 이러한 표시를 수십 개 만들 수 있으며 디스크 공간을 추가로 차지하지 않습니다. 이는 동시에 여러 버전의 프로젝트를 작업할 수 있는 방법에 대한 관점을 완전히 바꿔 놓습니다.

Buong leksyon ay para sa subscription

21 pang slide sa buong bersyon.

Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.

Mag-sign in o magparehistro Mag-subscribe

Nilalaman ng leksyon

  1. 브랜치에서 파일 복사에 대한 오해
  2. 브랜치의 내부 구조
  3. 책의 복사본 대신 책갈피
  4. 실제로 브랜치 만들기
  5. Git에서 브랜치의 작동 방식
  6. 새 브랜치 만들기
  7. 빠른 생성 및 전환
  8. 브랜치 전환 시 일어나는 일
  9. 충돌 없이 브랜치 병합이 가능한 경우
  10. 빨리 감기 병합의 작동 방식
  11. 실전 예제: feature 브랜치를 main에 병합
  12. 자동 병합이 불가능한 경우
  13. 병합 충돌의 모습
  14. 충돌 해결 단계
  15. 단순 병합이 항상 작동하지 않는 이유
  16. 삼자 병합(3-way Merge)의 작동 원리
  17. 실전 병합 커밋 생성하기
  18. 병합을 미루면 생기는 문제
  19. 병합 충돌 무시의 위험성
  20. 올바른 충돌 해결 방법
  21. 새 작업을 위한 피처 브랜치 생성
  22. 여러 브랜치에서의 병렬 작업
  23. 변경 사항을 메인 브랜치에 병합하기
  24. 결론: 브랜치와 병합

Mga artikulo tungkol sa araling ito

Lahat ng leksyon ng kurso

  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. 최종 프로젝트: 실제 팀 개발 시뮬레이션