본문 바로가기

아카이브/Git

깃 개념들

반응형

플러밍 명령 - 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