깃 저장소
저장소로 사용할 디렉터리(폴더) 생성하기
깃으로 버전 관리를 하려면, 먼저 특정 작업 디렉터리를 깃 저장소
로 지정해야 한다. GUI 환경인 경우 특정 폴더를 만들면 되고, 리눅스의 경우에는 mkdir 명령어를 통해 저장소로 사용할 작업 디렉터리를 생성해준다.
1
mkdir ./git_local
깃 저장소로 만들기
디렉터리를 깃 저장소로 만들 때에는 git init
명령어를 사용한다. 셸을 사용하여 생성한 디렉토리로 이동한 뒤 git init
명령어를 사용한다.
명령어 | 설명 |
---|---|
git init |
현재 디렉터리를 깃 저장소로 만든다. |
git init /path/of/dir |
지정한 디렉터리를 깃 저장소로 만든다. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# git_local 디렉터리로 이동
cd ./git_local
# 디렉터리 파일 확인
ls -al
>> total 0 # 없음
# git init
git init
>> Initialized empty Git repository in ~/git_local/.git/
# 디렉터리 확인
ls -al
>> drwxr-xr-x. 7 user user 119 Nov 29 14:47 .git # 숨김 디렉터리
.git 디렉터리
git init
명령어를 통해 디렉터리를 깃 저장소로 만들면, .git
디렉터리가 생성된다. .git
디렉터리에는 저장소의 소스, 여러 가지 변경 이력 등을 저장하고 있다.
1
2
3
4
5
6
7
8
9
10
11
12
cd ./.git
ls -al
>>
-rw-r--r--. 1 user user 21 Nov 29 14:47 HEAD
drwxr-xr-x. 2 user user 6 Nov 29 14:47 branches
-rw-r--r--. 1 user user 92 Nov 29 14:47 config
-rw-r--r--. 1 user user 73 Nov 29 14:47 description
drwxr-xr-x. 2 user user 4096 Nov 29 14:47 hooks
drwxr-xr-x. 2 user user 21 Nov 29 14:47 info
drwxr-xr-x. 4 user user 30 Nov 29 14:47 objects
drwxr-xr-x. 4 user user 31 Nov 29 14:47 refs
파일/디렉터리 | 설명 | 역할 및 내용 |
---|---|---|
HEAD | 현재 체크아웃된 브랜치 정보 | 현재 작업 중인 브랜치를 가리키는 포인터 ex. ref:refs/heads/main |
branches | 현재는 잘 사용되지 않는 디렉터리. 대체로 비어있음. 과거에는 추가적인 브랜치 정보를 저장하던 디렉터리 현재는 refs/heads 와 /refs/remotes 디렉터리가 대신함 |
|
config | git 설정 파일 | 저장소의 로컬 설정이 정의된 파일 |
description | 저장소 설명 파일 | Bare 저장소에서 사용되는 설명 |
hooks | 훅 스크립트 디렉터리 | 특정 git 이벤트에서 실행되는 스크립트 ex pre-commit, post-merge |
info | 추가 정보 디렉터리 | 무시 패턴(exclude) 등 추가 정보 파일을 포함함 |
objects | git 객체 데이터를 포함한 디렉터리 | 커밋, 트리, 블롭, 태그 등 git의 모든 데이터 객체를 저장 |
refs | 레퍼런스 정보 | 브랜치(refs/heads), 태그(refs/tags), 원격 브랜치(refs/remotes) 포인터 저장 |