플러밍 명령 - low level 명령, git의 기초적인 근간
포셀레인 - high level
git init (깃 초기화) 를 하게 되면 .git 하위 디렉토리를 생성한다.
그 하위 항목에는,
Hooks - 깃 명령과 명령에 주입할 수 있는 사용자 정의 스크립트. hook_name.sample
Info - 깃에서 추적하는 파일들 중에서 제외된 파일 목록들을 기록
Config - 설정 파일
Description - gitweb(깃 설치시 제공되는 패키지) 이 있고, 깃 저장소를 위한 웹 인터페이스 설정
Objects - 깃으로 유입되는 모든 데이터는 blob, trees, commits, tags 객체로 분류된다.
Blob - data 자체의 바이너리 데이터들
Trees - 트리 개체는 컨텐츠 구조, 디렉토리의 표현 방법이다.
Commits - 변경사항에 대한 메타데이터를 저장
Tags - 다른 객체에 부착하거나 커밋 객체를 쉽게 찾게 해준다.
HEAD - 깃 엔진이 활성화 되어 있는 분기의 여러가지 동작 지점을 나타낸다.
Refs - 매핑 참조에 관한 것들
Index - 커밋된 스테이징 영역 정보 저장. 다음에 커밋할 파일을 저장하고 있다.
가 있다.
깃 - 컨텐츠 추적 시스템 -> 컨텐츠(데이터) 의 해시 값을 이용.
소스 코드 버전 관리 시스템 (source code version control system; VCS)
- 로컬 버전 관리 시스템(local version control system)
- Naming Convention 을 따라 생성한 파일의 다양한 버전을 관리할 때, 생길 수 있는 실수를 극복하기 위한 시도.
- Version Tracker 안에 "파일 내용들의 단계별 차이점" 을 HDD에 저장.
- 중앙 집중형 버전 관리 시스템(centralized version control system)
- LVCS 의 한계(;협업) 를 극복하기 위한 시도.
- 각각의 로컬 클라이언트에서 접근 가능한 공통된 공간(서버)에 파일을 유지.
- 파일에 대한 엑세스를 요구하는 사람들에게 접근 권한을 제공하고, 다른 사람 작업에 대한 가시성을 제공받을 수 있다. (자동으로 다른 사람과 변동사항을 공유)
- 분산 버전 관리 시스템{distributed version control system)
- CVCS 의 위험도를 극복하기 위해 LVCS 와 결합하는 방식
- 서버와 keep alive 하지 않아도 로컬에 변동 사항을 기록.
- 서버에 저장되어 있는 파일들과 독립적
- 파일이나 파일들에 대한 전체적인 이력은 모든 기기의 로컬에 저장되고, 사용자에 의해 만들어진 로컬 변동 사항은 서버로 전달 되어 동기화된다.
is supporting both GUI(graphic user interface) and CLI(command-Line interface).
'아카이브 > Git' 카테고리의 다른 글
Git 정리(명령어 위주) (0) | 2016.09.18 |
---|