Git 완전 정복: 초보에서 능숙한 개발자로
팀에서 자신 있게 협업하고, 프로젝트 히스토리를 체계적으로 관리하며, 실제 저장소에서 첫 커밋부터 pull request까지 자신 있게 수행할 수 있도록 Git을 마스터하세요. 기술 면접에서도 성공할 수 있는 실력을 갖추게 됩니다.
Untuk Siapa Kursus Ini
이미 어떤 언어로든 코드를 작성할 줄 알지만, 버전 관리 시스템을 본격적으로 사용해본 적이 없거나 Git을 얕게만 알고 있어 취업 시장에 나가기 전에 지식을 체계화하려는 초보 프로그래머.
Persyaratan
명령줄(터미널) 사용 기본: 폴더 이동, 파일 생성 및 삭제. 어떤 언어든 간단한 코드를 작성할 수 있는 능력 — 언어는 중요하지 않으며, 이미 프로그래밍을 하고 있다는 사실 자체가 중요합니다.
Kurikulum Kursus
13 kuliah
Git가 왜 필요한가? — 취업에 왜 필수인가
명령어부터 배우지 않고, 고통부터 경험합니다: 버전 관리 없는 개발이 어떤 모습인지 살펴봅니다 — '프로젝트_최종_2', '프로젝트_최종_진짜_최종' 폴더와 잘못 삭제할까 두려운 상황. Git이 어떤 문제를 해결하는지, 왜 업계 표준이 되었는지, 그리고 고용주가 GitHub 프로필을 볼 때 구체적으로 무엇을 확인하는지 이해하게 됩니다.
버전 관리 시스템
변경 이력
분산 아키텍처
22 mnt
Setelah daftar
Git 설치 및 설정: 첫 실행을 위한 준비
Windows, macOS, Linux에 Git을 설치하고, 이름과 이메일 설정이 단순한 형식이 아니라 커밋 기록의 일부인 이유를 알아봅니다. 편리한 터미널 설정과 유용한 단축 명령어를 구성하여 첫날부터 긴 명령어로 고생하지 않고 편하게 작업할 수 있도록 준비합니다.
Git 설치
git config
전역 설정
18 mnt
Dalam langganan
Berlangganan
첫 번째 저장소: init, add, commit과 인덱스의 마법
첫 번째 저장소를 만들면서 바로 많은 이들이 수년간 이해하지 못하는 개념인 스테이징 영역(인덱스)을 경험하게 됩니다. 이 '중간 계층'이 작업 폴더와 히스토리 사이에서 왜 필요한지, 그리고 add → commit의 두 단계 시스템이 어떻게 커밋을 의미 있고 우연이 아닌 것으로 만드는지 예제를 통해 살펴보겠습니다.
저장소
스테이징 영역
커밋
28 mnt
Dalam langganan
Berlangganan
히스토리 읽기: log, diff, show 및 과거 탐색
프로젝트 히스토리는 단순한 로그가 아니라 결정의 기록입니다. 커밋을 필터링하고, 버전 간 변경 사항을 확인하며, SHA-1 해시를 두려움 없이 이해하는 방법을 배워 정보를 유용하게 읽어 냅니다. '좋은 히스토리'와 '나쁜 히스토리'를 구별하는 방법도 따로 다루는데, 이는 팀 내에서 어떻게 평가받는지에 직접적인 영향을 줍니다.
커밋 해시
git log
git diff
25 mnt
Dalam langganan
Berlangganan
브랜치: 코드의 평행 현실
브랜치는 Git의 핵심이지만, 대부분의 초보자가 두려움을 느끼는 부분이기도 합니다. 우리는 브랜치가 파일의 복사본이 아닌 단순한 포인터라는 사실을 통해 브랜치의 미스터리를 풀어보겠습니다. 브랜치 생성, 전환, 변경 사항 병합 방법을 살펴보고, 빠른 전환(fast-forward)과 3방향 병합의 차이점을 실제 예제를 통해 확인합니다.
브랜치
HEAD
병합
32 mnt
Dalam langganan
Berlangganan
오류 취소하기: restore, reset, revert — 올바른 방법과 위험한 방법
면접과 실제 업무에서 가장 많이 요구되는 주제 중 하나는 이미 수행한 작업을 취소하는 방법입니다. 우리는 취소의 '깊이'가 다른 세 가지 도구를 살펴보고, 가장 중요한 부분에 집중할 것입니다: reset --hard가 팀워크를 어떻게 망치는지, 그리고 revert가 안전한 대안인 구체적인 시나리오를 보여드립니다. 좋은 결정과 나쁜 결정 — 실제 결과와 함께.
git restore
git reset
git revert
30 mnt
Dalam langganan
Berlangganan
GitHub 및 원격 저장소: 클라우드에 코드 저장하기
로컬 작업에서 협업으로 전환: remote란 무엇인지, 로컬 저장소를 GitHub에 연결하는 방법, 그리고 push, pull, fetch 세 가지 명령어의 차이점을 자세히 알아보겠습니다. 특히 SSH 키를 통한 인증 설정까지 다룹니다. 이는 고용주가 여러분이 스스로 설정할 것으로 기대하는 부분이기 때문입니다.
remote
origin
push / pull / fetch
27 mnt
Dalam langganan
Berlangganan
팀워크: 포크, 기능 브랜치 및 풀 리퀘스트
이 섹션은 오픈소스와 기업 팀의 90%가 어떻게 협업하는지 설명합니다. fork → feature-ветка → 커밋 → pull request → 코드 리뷰 → 병합의 전체 과정을 배웁니다. 또한 PR 설명을 작성하여 리뷰어가 즉시 맥락을 이해할 수 있는 방법과 초보자에게 흔한 PR 실수를 다룹니다.
포크(fork)
풀 리퀘스트(pull request)
코드 리뷰(code review)
33 mnt
Dalam langganan
Berlangganan
병합 충돌: 당황하지 말고 이해하고 해결하기
병합 충돌은 초보자를 두렵게 하지만, 이 섹션을 마치면 침착하게 마주할 수 있을 것입니다. 충돌이 발생하는 이유(깃은 생각을 읽지 못하며, 어떤 변경이 더 중요한지 알지 못합니다)와 충돌 마커를 읽는 방법, 올바른 해결책을 선택하는 방법을 살펴봅니다. 수동 해결과 병합 도구 사용의 두 가지 접근 방식을 소개합니다.
병합 충돌
충돌 마커
충돌 해결
28 mnt
Dalam langganan
Berlangganan
실제 팀의 Git 프로세스: 어떤 워크플로우를 선택할까
면접에서 자주 묻는 질문: '어떤 Git 워크플로우를 사용했나요?' 이 섹션을 마치면 정직하고 상세한 답변을 할 수 있습니다. 세 가지 인기 접근법인 Feature Branch Workflow, Git Flow, Trunk-Based Development를 살펴보고 각각이 어떤 상황에서 효과적이고 어떤 상황에서 병목이 되는지 분석합니다.
Feature Branch Workflow
Git Flow
Trunk-Based Development
23 mnt
Dalam langganan
Berlangganan
고급 도구: 리베이스, 스태시, 체리픽 및 태그
이제 Git을 자신 있게 사용하는 사용자와 기본만 아는 사용자를 구분 짓는 도구로 넘어갑니다. 머지의 대안으로 리베이스를 살펴보며, 언제 리베이스가 히스토리를 더 깔끔하게 만들고 언제 악몽으로 만드는지 알아봅니다. 미완성 작업을 빠르게 '치워두는' 스태시, 커밋을 선별적으로 이동시키는 체리픽, 그리고 릴리스를 표시하는 태그를 추가합니다.
git rebase
git stash
git cherry-pick
35 mnt
Dalam langganan
Berlangganan
최종 프로젝트: 실제 팀 개발 시뮬레이션
지금까지 배운 모든 내용을 하나의 시나리오에 적용해봅니다: 여러분은 소규모 팀의 개발자로서 새로운 기능을 추가하고, 버그를 수정하며, 릴리스를 배포해야 합니다. 저장소 생성, 브랜치 작업, 풀 리퀘스트, 의도적으로 생성된 충돌과 해결, 히스토리 정리를 위한 리베이스, 그리고 최종 릴리스 태그까지 전체 사이클을 단계별로 경험합니다. 과정이 끝나면 취업 시장에서 자랑할 수 있는 실제 저장소를 갖게 됩니다.
전체 Git 워크플로우
팀 개발
릴리스 사이클
35 mnt
Dalam langganan
Berlangganan