29. 용어 정리
• Commit : 수정 내역을 사용자 기준 단위로 기록 (보통 1개의 기능 단위)
• Branch : 내 원래 소스코드와 독립된 작업 공간, 여기서 무슨 짓을 해도 괜찮음
• CheckOut : Branch간의 이동
• Merge : Branch와 Branch를 병합
30. 시간표 짜는 프로그램을 만들어 보자
Git에는 Default로 Master라는 Branch가 있다
Master
HEAD
32. 기존에 코드는 안전하게 놔두고,
시간표 알람이 기능을 만들고 싶다
Alarm이라는 새 Branch를 만들어 작업
Alarm
Master
Commit 1 : 프로젝트 초기 세팅
Commit 2 : 시간표 추가 기능 구현
Commit 3 : 시간표 수정 기능 구현
Commit 4 : 알람 기능 구현
HEAD
33. 만약, Alarm 에서 작업 중,
Master 에서 수정할 일이 생김
Master를 Checkout 한 뒤 수정 작업
Alarm
Master
Commit 1 : 프로젝트 초기 세팅
Commit 2 : 시간표 추가 기능 구현
Commit 3 : 시간표 수정 기능 구현
Commit 4 : 알람 기능 구현
HEAD
34. 알람 기능이 제대로 동작도 안하고,
코드도 더럽고 때려치우고 싶다
Master로 돌아오고, Alarm 삭제
Alarm
Master
Commit 1 : 프로젝트 초기 세팅
Commit 2 : 시간표 추가 기능 구현
Commit 3 : 시간표 수정 기능 구현
Commit 4 : 알람 기능 구현
HEAD
35. Alarm 에서 작업 한 기능이 성공적이고,
원본 코드와 합쳐도 될 것 같다
Alarm을 Master로 Merge
Alarm
Master
Commit 1 : 프로젝트 초기 세팅
Commit 2 : 시간표 추가 기능 구현
Commit 3 : 시간표 수정 기능 구현
Commit 4 : 알람 기능 구현
HEAD
36. Remote Repository를 통해 백업 및 협업을 하기 위한
Push / Pull 기능
code Local
repo
Remote
repo
Push
code Local
repo
Remote
repo
FetchMerge
Pull= Fetch à Merge