2. Motivation
● 잦은 주기로 commit을 하고 싶었다.
○ commit을 자주 하면, 내 작업들이 적절하게 백업된
다: 언제든지 복구
○ 하지만, 다른 사람의 작업물과 충돌이 잦게 된다.
○ 그렇다고, 느린 주기로 commit을 한다면, commit단위
가 너무 방대해 져서, 관리하기가 힘들다.
○ commit을 안하고 48시간 이상 버티다가 잘못 눌러서
작업 내용 다 날아간 적이 있다.
10. commit 은 이렇게!
● 작업별로 끊어서 자주 commit 하는게 좋음.
○ 클래스 추가, 클래스 리팩토링, 애니메이션 추가, 라
이브러리 추가, ...
● 메시지는 의미 있게
○ 나중에 기록을 보고 제대로 활용할 수 있게...
● 깔끔하게 commit 하면, 해당 commit만 골라
서 merge할 수도 있다. (고급 기능 / cherry-
pick)
14. fetch vs pull
fetch: 원격 저장소의 내용을 로컬 저장소로 가
져오기만 함.
pull: fetch & 작업영역으로 합치기(merge)
15. 기억하세요 !
● 최초 프로젝트 시작
○ clone (svn:checkout)
● 작업 영역 -> 로컬 저장소
○ commit
● 로컬 저장소 -> 원격 저장소
○ push (svn:commit)
● 원격 저장소 -> 로컬 저장소 -> 작업 영역
○ pull (svn:update)
22. conflict !!!
● using theirs
● using mine
● 편집 후, resolve 처리
○ Beyond Compare 추천
● 그리고 다시 commit ! (충돌 해결 후, 즉시 커
밋하세요. 어명이오~.)
23. 조심!
● 빈폴더는 등록되지 않음.
○ .empty.txt 파일을 하나 넣어 두면 됨.
● push할 때, 원격 저장소에 다른 사람의 작업
내역이 존재하면, pull을 먼저 해야 됨.
● push / pull 직전에 반드시 commit 을 하세요.
○ 충돌로부터 자신을 보호할 최고의 수단입니다.