git basic2 chaos
TRANSCRIPT
GIT Overview
• Distributed (각자가 자신의 로컬 저장소를
갖음)
– SCM (Software Configuration Management)
– or Source Code Management System
– or Revision(Version) Control System
• Started from 2005
• Strong safeguards against corruption
• Developed by Linus Torvalds
– 리눅스를 개발하며 생긴 공동 개발 문제 해결
노력
Install and Setting
• Install
– http://git-scm.com/book/en/Getting-Started-Installing-Git
• Setting
– http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup
GIT Concept
Object DatabaseBlob: 파일 내용
Tree: 디렉토리
Commit: 커밋 정보
Tag: 추가 정보
Staging Area다음에 커밋 될
파일들을 추가, 캐쉬
해놓음
Remote(원격지의 저장소)
Local(자신의 PC)
로컬 저장소
• 로컬 저장소가 존재– 네트워크가 연결되지
않아도 버전관리 가능
• 로컬에서의 상태1. 수정됨 : Modified 상태(working directory)
2. 수정되고 추가됨 : Staged상태 (staging area)
3. Commit 됨 : Commited 상태(git directory)
git 따라해 보기 (로컬)
• Try GIT
– http://www.codeschool.com/courses/try-git
• git init : git 저장소(.git 디렉토리)생성
• git status : 현재 상태 보기
• git add [파일이름] : 해당 파일을 stage area에 추가
• git commit –m “커밋 코멘트” : stage area 의내용을 로컬 저장소에 커밋
git 따라해 보기(원격지 포함)• git remote add origin [원격지주소] : 원격지에 있는 저장소를 추가 (여기서는
origin이라는 이름으로 원격지 주소를 설정)• git push –u origin master : 현재 로컬저장소 브랜치(master)를 위에서 설정한
origin 의 주소에 밀어 넣음(저장)– u 옵션은 설정을 저장하여 다음에는 git push로 같은 동작이 가능
• git pull origin master: 원격지인 origin 으로 부터 변경된 내용을 로컬의 master브랜치로 가저옴
• git diff HEAD : working 디렉토리와 로컬 저장소의 HEAD 위치 (가장 최근커밋)에서의 차이점 보여줌
• git diff --staged : staged 영역과 저장소의 HEAD 위치와의 차이점을 보여줌
• git reset [파일이름] : 스테이지 영역에 추가된 사항을 되돌림. 워킹디렉토리에는 변경이 없음.
• git branch [브랜치 이름] : 새로운 로컬 브랜치를 만듬
• git checkout [브랜치 이름] : 해당 브랜치로 작업 대상을 변경함
• git rm [파일이름] : 해당 파일들을 제거 (워킹디렉토리와 스테이지 영역에서모두 제거)
• git fetch origin : 원격 저장소에서 패치를 가져옴
• git merge [ 브랜치 이름] : 현재 브랜치와 명시한 브랜치와 합침
• git branch –d [ 브랜치 이름] : 명시한 브랜치를 제거함
GIT Branching
• 인터렉티브 학습툴
– http://pcottle.github.com/learnGitBranching/?demo
• Git 사용 가이드
– http://www.slideshare.net/dhrim/git-12030742
• 헷갈리지만 하다보면 뭔가 감이 잡힘
기타
• Git Ref– http://rogerdudler.github.com/git-guide/index.ko.html– http://www.hanb.co.kr/network/view.html?bi_id=1664– http://devcheatsheet.com/tag/git/?page=1
• Git hosting– mac
• http://www.makebetterthings.com/git/install-gitlabhq-with-gitolite-on-mac-os-x-server-mountain-lion/
– Window• http://whatwant.tistory.com/411