27
Git 분산형 버젼관리 시스템

Git 사용법 공유 + Unity3D with git

Embed Size (px)

DESCRIPTION

Git 사내 교육 자료

Citation preview

Git분산형 버젼관리 시스템

Motivation

● 잦은 주기로 commit을 하고 싶었다.○ commit을 자주 하면, 내 작업들이 적절하게 백업된다: 언제든지 복구

○ 하지만, 다른 사람의 작업물과 충돌이 잦게 된다.○ 그렇다고, 느린 주기로 commit을 한다면, commit단위가 너무 방대해 져서, 관리하기가 힘들다.

○ commit을 안하고 48시간 이상 버티다가 잘못 눌러서

작업 내용 다 날아간 적이 있다.

설치1 - git

http://www.git-scm.com/

설치2 - tortoisegit

구글에서 tortoisegit 검색http://code.google.com/p/tortoisegit/

원격 저장소로부터 자료 받기1

프로젝트 상위 폴더에서 마우스 R버튼Git Clone...

URL: [email protected]:repositories/test001Directory: C:\prj\test001

원격 저장소로부터 자료 받기2

사용자 정보 입력필수 아닌 것 같지만 필수임

마우스 R버튼 -> TortoiseGit -> Settings -> Git

신나게 작업!

commit

로컬 저장소에 커밋

주의!!!commit은 원격 저장소에 올리는게 아닙니다!!!

commit 은 이렇게!

● 작업별로 끊어서 자주 commit 하는게 좋음.○ 클래스 추가, 클래스 리팩토링, 애니메이션 추가, 라이브러리 추가, ...

● 메시지는 의미 있게○ 나중에 기록을 보고 제대로 활용할 수 있게...

● 깔끔하게 commit 하면, 해당 commit만 골라서 merge할 수도 있다. (고급 기능 / cherry-pick)

작업영역, 로컬 저장소, 원격 저장소??

push

로컬 저장소의 내용을 원격 저장소로 업로드

push를 해야, 원격 저장소(서버)로 작업 내역이 전송됩니다.

commit만 하고 포맷하면, push안한 자료들은 사라집니다.

pull

원격 저장소의 작업내역을 로컬 저장소로 가져오고, 작업영역으로 합침(merge)

fetch vs pull

fetch: 원격 저장소의 내용을 로컬 저장소로 가져오기만 함.

pull: fetch & 작업영역으로 합치기(merge)

기억하세요 !

● 최초 프로젝트 시작○ clone (svn:checkout)

● 작업 영역 -> 로컬 저장소○ commit

● 로컬 저장소 -> 원격 저장소○ push (svn:commit)

● 원격 저장소 -> 로컬 저장소 -> 작업 영역○ pull (svn:update)

지금부터는 살짝 고급 개념

Branch ???

브랜치를 나누면, 개발하는 기간동안 상호간에 간섭을 전혀 받지 않으면서 저장소를 다룰 수 있다.

checkout

마우스 우측switch / checkout

특정 Branch / Commit 으로 전환

로그 보기

revert

작업한 내역 버리고 로컬 저장소에 있던 내용 가져오기

!상당히 자주 쓰입니다.!

reset

commit 취소

commit이 취소 된다니... 놀랍지 않나요???

conflict !!!

● using theirs

● using mine

● 편집 후, resolve 처리○ Beyond Compare 추천

● 그리고 다시 commit ! (충돌 해결 후, 즉시 커밋하세요. 어명이오~.)

조심!

● 빈폴더는 등록되지 않음.○ .empty.txt 파일을 하나 넣어 두면 됨.

● push할 때, 원격 저장소에 다른 사람의 작업내역이 존재하면, pull을 먼저 해야 됨.

● push / pull 직전에 반드시 commit 을 하세요.○ 충돌로부터 자신을 보호할 최고의 수단입니다.

Unity3D 프로젝트 세팅1

Edit -> Project Settings -> Editor

Unity3D 프로젝트 세팅2.gitignore

http://macykuang.com/?p=182

.gitignore 를 잘 세팅해놔야 편합니다.

참고 자료

http://git-scm.com/abouthttp://www.slideshare.net/dalinaum/the-githttp://marklodato.github.com/visual-git-guide/index-ko.html

Q&A

무엇이든 물어 보세요.아는 것만 답해 드립니다.