SlideShare a Scribd company logo
1 of 18
GIT

From Basic to Chaos

    Yunkyu Choi
   2013/Mar/05
Contents
Basic      &       Chaos
BASIC
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
  – 리눅스를 개발하며 생긴 공동 개발 문제 해결
    노력
장점
• 모든 저장소 정보가 최상위 디렉토리에
  폴더 형태로 저장됨.
 – 저장소의 복사/이동이 자유로움
 – 기타 많은 장점 ㅡㅡ
분산(Distributed) 저장소
Centralized                Distributed
                  Remote




              Local                      Local
Git Snapshot

Others


             다른 시스템들은 차이점만 저장
         Git 은 각 버전의 모든 정보를 저장함


 GIT
First Step

WORKING WITH GIT
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
Remote                     Object Database
(원격지의 저장소)                 Blob: 파일 내용
                           Tree: 디렉토리
                           Commit: 커밋 정보
                           Tag: 추가 정보


                           Staging Area
                           다음에 커밋 될
 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 Concept (Detailed, Remote포함)
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 [ 브랜치 이름] : 명시한 브랜치를 제거함
Step into Chaos

ADVANCED
GIT Branching
• 인터렉티브 학습툴
 – http://pcottle.github.com/learnGitBranching/?de
   mo
• 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
• Basic => Chaos => Harmonious?

More Related Content

What's hot

리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기Wooyoung Ko
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용환민 홍
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는GitMario Cho
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10hungrok
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guidelinesangyun han
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기Mario Cho
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Ian Choi
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Hyunjun Roh
 
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드도형 임
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치choi sungwook
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1sangyun han
 

What's hot (20)

리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기리스펙토링 세미나 - Git, Github 알아보기
리스펙토링 세미나 - Git, Github 알아보기
 
Github 사용법
Github 사용법Github 사용법
Github 사용법
 
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
 
Git
GitGit
Git
 
제로부터시작하는Git
제로부터시작하는Git제로부터시작하는Git
제로부터시작하는Git
 
Linux 강의자료 ed10
Linux 강의자료 ed10Linux 강의자료 ed10
Linux 강의자료 ed10
 
KhuHub student guideline
KhuHub student guidelineKhuHub student guideline
KhuHub student guideline
 
제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기제로부터시작하는 Git 두번째 이야기
제로부터시작하는 Git 두번째 이야기
 
해커스 Git
해커스 Git해커스 Git
해커스 Git
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
 
11. git basic
11. git basic11. git basic
11. git basic
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
 
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
 
Git 코드랩 스터디 2
Git 코드랩 스터디 2Git 코드랩 스터디 2
Git 코드랩 스터디 2
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치
 
git-basic-commands
git-basic-commandsgit-basic-commands
git-basic-commands
 
Linux tutorial
Linux tutorialLinux tutorial
Linux tutorial
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
 
Git 강별
Git   강별Git   강별
Git 강별
 

Viewers also liked

20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
world luxury sample
world luxury sampleworld luxury sample
world luxury sample포 공
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_Yunkyu Choi
 
C/c++ 표준 int 타입
C/c++ 표준 int 타입C/c++ 표준 int 타입
C/c++ 표준 int 타입Changwoo Ryu
 
오픈 소스 개발자 이희승 총집편
오픈 소스 개발자 이희승 총집편오픈 소스 개발자 이희승 총집편
오픈 소스 개발자 이희승 총집편우영 유
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1Hyunwoo Kim
 
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션Alex Kang
 
120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseerChan-hyun Park
 
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Seongjun Kim
 
3D 프린터 종류와 특징에 관한 리포트
3D 프린터 종류와 특징에 관한 리포트3D 프린터 종류와 특징에 관한 리포트
3D 프린터 종류와 특징에 관한 리포트규호 이
 

Viewers also liked (12)

Reprap 소개
Reprap 소개Reprap 소개
Reprap 소개
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
world luxury sample
world luxury sampleworld luxury sample
world luxury sample
 
Kinect kunkuk final_
Kinect kunkuk final_Kinect kunkuk final_
Kinect kunkuk final_
 
C/c++ 표준 int 타입
C/c++ 표준 int 타입C/c++ 표준 int 타입
C/c++ 표준 int 타입
 
오픈 소스 개발자 이희승 총집편
오픈 소스 개발자 이희승 총집편오픈 소스 개발자 이희승 총집편
오픈 소스 개발자 이희승 총집편
 
Unity 3d study #1
Unity 3d study #1Unity 3d study #1
Unity 3d study #1
 
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션
프로젝트 아나키로 Rpg 만들기 캐릭터 애니메이션
 
120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer120513 unity3 d_start_skyseer
120513 unity3 d_start_skyseer
 
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
 
3D 프린터 종류와 특징에 관한 리포트
3D 프린터 종류와 특징에 관한 리포트3D 프린터 종류와 특징에 관한 리포트
3D 프린터 종류와 특징에 관한 리포트
 
3 d 프린팅 전문과정(이지영)
3 d 프린팅 전문과정(이지영)3 d 프린팅 전문과정(이지영)
3 d 프린팅 전문과정(이지영)
 

Similar to Git basic2 chaos

Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드chandler0201
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2sangyun han
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating IntroductionJongwook Choi
 
Git from google techtalks by Randal
Git from google techtalks by RandalGit from google techtalks by Randal
Git from google techtalks by Randalyagurchoi
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubJunyoung Lee
 
Git Tutorial
Git TutorialGit Tutorial
Git TutorialMDLicht
 
[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_DesignerLee Beomho
 
리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 githubJungHoon Lee
 
Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)진혁 박
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함Ji-Woong Choi
 
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식Matthew (정재화)
 
git, git flow
git, git flowgit, git flow
git, git floweva
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법주형 고
 

Similar to Git basic2 chaos (20)

Git
GitGit
Git
 
Git
GitGit
Git
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
Git
Git Git
Git
 
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
 
Git 코드랩 스터디 1
Git 코드랩 스터디 1Git 코드랩 스터디 1
Git 코드랩 스터디 1
 
Git: A Motivating Introduction
Git: A Motivating IntroductionGit: A Motivating Introduction
Git: A Motivating Introduction
 
Git from google techtalks by Randal
Git from google techtalks by RandalGit from google techtalks by Randal
Git from google techtalks by Randal
 
Git 기본
Git 기본Git 기본
Git 기본
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
 
Git lecture1
Git lecture1Git lecture1
Git lecture1
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer[VCS] Git&GitLab_Designer
[VCS] Git&GitLab_Designer
 
리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github리스펙토링 5월 세미나, git과 github
리스펙토링 5월 세미나, git과 github
 
Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)Git server 구축(git olite,gitweb)
Git server 구축(git olite,gitweb)
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
 
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHub
 
git, git flow
git, git flowgit, git flow
git, git flow
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법
 

Git basic2 chaos

  • 1. GIT From Basic to Chaos Yunkyu Choi 2013/Mar/05
  • 2. Contents Basic & Chaos
  • 4. 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 – 리눅스를 개발하며 생긴 공동 개발 문제 해결 노력
  • 5. 장점 • 모든 저장소 정보가 최상위 디렉토리에 폴더 형태로 저장됨. – 저장소의 복사/이동이 자유로움 – 기타 많은 장점 ㅡㅡ
  • 6. 분산(Distributed) 저장소 Centralized Distributed Remote Local Local
  • 7. Git Snapshot Others 다른 시스템들은 차이점만 저장 Git 은 각 버전의 모든 정보를 저장함 GIT
  • 9. 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
  • 10. GIT Concept Remote Object Database (원격지의 저장소) Blob: 파일 내용 Tree: 디렉토리 Commit: 커밋 정보 Tag: 추가 정보 Staging Area 다음에 커밋 될 Local 파일들을 추가, 캐쉬 (자신의 PC) 해놓음
  • 11. 로컬 저장소 • 로컬 저장소가 존재 – 네트워크가 연결되지 않아도 버전관리 가능 • 로컬에서의 상태 1. 수정됨 : Modified 상태 (working directory) 2. 수정되고 추가됨 : Staged 상태 (staging area) 3. Commit 됨 : Commited 상태 (git directory)
  • 12. 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 의 내용을 로컬 저장소에 커밋
  • 13. GIT Concept (Detailed, Remote포함)
  • 14. 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 [ 브랜치 이름] : 명시한 브랜치를 제거함
  • 16. GIT Branching • 인터렉티브 학습툴 – http://pcottle.github.com/learnGitBranching/?de mo • Git 사용 가이드 – http://www.slideshare.net/dhrim/git-12030742 • 헷갈리지만 하다보면 뭔가 감이 잡힘
  • 17. 기타 • 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
  • 18. • Basic => Chaos => Harmonious?