Git 퀵스타트

1 개념[ | ]

Git Quick Start: Git을 처음 시작 하는 사람들을 위한 참고 문서

2 용어[ | ]

용어 설명
Repository (저장소) 소스 코드의 저장소
Clone 원격 저장소를 로컬로 복제 및 로컬 저장소 생성
Index 커밋할 파일 스냅샷
Commit 변경 내역의 저장 단위
Push 로컬 저장소의 변경 내역을 원격 저장소에 반영
Pull 원격 저장소 변경 내역을 로컬 저장소에 반영
Branch 저장소 내의 별도 커밋 공간. 기본 브랜치는 master

3 Tracked, Untracked[ | ]

  • Git의 모든 파일은 Tracked(관리 대상이 되는 파일)파일과 Untracked(관리 대상이 되지 않는 파일) 파일로 나뉨
  • Tracked 파일은 상태에 따라 Unmodified, Modified, Staged 상태로 나뉨
파일 구분 상태 구분
Tracked
(관리 대상 파일)
Unmodified
(미 수정)
Modified
(수정)
Staged
(커밋 하면 저장소 기록 상태)
Untrakced
(비 관리 대상 파일)

※ 처음 저장소를 Git clone 하게 되면 모든 파일 상태는 Tracked 상태가 됨

Untracked -> Staged: git add Staged -> Unmodified : git commit Unmodified -> Modified : 파일 편집 Modified -> Staged : git add Unmodified -> Untracked : git rm

4 3개의 트리[ | ]

  • Git은 3개의 트리로 가지고 있음
트리명(영어) 트리명(한국어) 설명
Working Directory 작업 디렉토리 실제 파일들로 이루어져 있음
Index 인덱스 준비 영역(staging area), 즉 바로 다음에 커밋할 내용
HEAD 헤드 최종 확정본(commit), 즉 마지막 커밋의 스냅샷

5 실습[ | ]

  • 1.Git 설치
Git 설치 참조
  • 2.Git 저장소 만들기
버전 관리할 디렉토리로 이동하여 "git init"을 해줌
johnjeong@zetawiki:~/myProject$ git init
초기화: 빈 깃 저장소, 위치 /home/johnjeong/myProject/.git/
→디렉토리 myProject 로 이동하여 git 초기화를 해주고 있음
  • 3.Git 초기 설정
이름, 이메일을 설정해줌
johnjeong@JohnJeong4p:~/myProject$ git config --global user.name "johnjeong4p"
johnjeong@JohnJeong4p:~/myProject$ git config --global user.email "johnjeong4p@gmail.com"
  • 4.디렉토리내 버전 관리 제외 파일 설정
기본 디렉토리에 .gitignore파일을 만들어 특정 파일, 디렉토리를 추가하여 버전 관리에서 제외 되도록 함
cache
→cache 디렉토리는 버전 관리에서 제외
  • 5.현재 상태 확인
git status 로 현재 상태의 확인이 가능함
johnjeong@zetawiki:~/myProject$ ll
합계 20
drwxrwxr-x  4 johnjeong johnjeong 4096  2월 19 22:32 ./
drwxr-xr-x 56 johnjeong johnjeong 4096  2월 19 22:32 ../
drwxrwxr-x  7 johnjeong johnjeong 4096  2월 19 22:32 .git/
-rw-rw-r--  1 johnjeong johnjeong    6  2월 19 22:32 .gitignore
-rw-rw-r--  1 johnjeong johnjeong    0  2월 19 22:31 a.php
-rw-rw-r--  1 johnjeong johnjeong    0  2월 19 22:31 b.php
drwxrwxr-x  2 johnjeong johnjeong 4096  2월 19 22:31 cache/
johnjeong@zetawiki:~/myProject$ git status
현재 브랜치 master

최초 커밋

추적하지 않는 파일:
  (커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)

	.gitignore
	a.php
	b.php

커밋할 사항을 추가하지 않았지만 추적하지 않는 파일이 있습니다 (추적하려면 "git
add"를 사용하십시오)
→ "ll" 명령으로 현재 파일 상태를 확인하고 "git status"로 버전 관리 상태를 확인함
cache는 gitignore파일에 무시 항목으로 추가되어 "git status"의 결과로 나타나지 않음
  • 6. 하위의 모든 파일을 staged 상태로 만들기
"git add --all" 명령으로
johnjeong@zetawiki:~/myProject$ git add --all
  • 7. 커밋하기
git commit -m "커밋 메시지"
johnjeong@zetawiki:~/myProject$ git commit -m 'my first commit'
[master (최상위-커밋) 22f95d4] my first commit
 3 files changed, 1 insertion(+)
 create mode 100644 .gitignore
 create mode 100644 a.php
 create mode 100644 b.php
→ "my first commit" 메시지로 첫 커밋을 함
  • 참고 : 6~7 번 과정을 한 번에 수행 하는 것도 가능함
johnjeong@zetawiki:~/myProject$ git commit -a -m 'my first commit'

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}