일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 디버깅
- vscode
- 단축키
- 운영체제
- 예제
- matplotlib
- 플라스크
- 판다스
- MySQL
- 에러
- 데이터베이스
- 기초
- visual studio code
- 엑셀
- 디렉토리
- 리눅스
- 데이터분석
- 가상환경
- 역할
- 깃허브
- SQL
- 머신러닝
- OpenCV
- 라이브러리
- 원격저장소
- 아나콘다
- 우분투
- 코랩
- 파이썬
- 프로그래머스
Archives
- Today
- Total
취미와 밥줄사이
[Git] Git이란? 본문
차이가 아니라 스냅샷
- Git은 데이터를 파일 시스템의 스냅샷의 연속으로 취급하고 크기가 아주 작다.
- Git은 커밋하거나 프로젝트의 상태를 저장할 때마다 파일이 존재하는 그 순간을 중요하게 여긴다.
- 파일이 달라지지 않았으면 Git은 성능을 위해서 파일을 새로 저장하지 않는다.
- 단지 이전 상태의 파일에 대한 링크만 저장한다.
- 시간순으로 프로젝틔 스냅샷을 저장
Git은 데이터를 추가할 뿐
- Git으로 무얼 하든 Git 데이터베이스에 데이터가 추가된다.
- 되돌리거나 데이터를 삭제할 방법이 없다
- Git을 사용하면 프로젝트가 심각하게 망가질 걱정 없이 매우 즐겁게 여러 가지 실험을 해 볼 수 있다.
세 가지 상태
- Git은 파일을 Committed, Modifed, Staged 이렇게 세 가지 상태로 관리한다.
- Committed란 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
- Modified는 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다.
- Staged란 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.
- 이렇게 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결돼 있다.
- Git 디렉토리는 Git이 프로젝트의 메타데이터와 객체 대이터베이스를 저장하는 곳을 말한다.
- GIt의 디렉토리가 Git의 핵심이다.
- 다른 컴퓨터에 있는 저장소를 clone 할 때 Git 디렉토리가 만들어진다.
- 워킹 트리는 프로젝트의 특정 버전을 Checkout 한 것이다.
- Git의 디렉토리는 지금 작업하고 있는 디스크에 있고 그 디렉토리아 안에 압축된 데이터베이스에서 파일을 가져와서 워킹 트리를 만든다.
- Staging Area는 Git 디렉토리에 있다. 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장한다. Git에서는 기술용어로 Index라고 하지만 Staging Area라는 용서를 사용해도 상관 없다.
- Git으로 하는 일은 기본적으로 아래와 같다.
- 워킹 트리에서 파일 수정
- Staging Area에 파일은 Stage 해서 커밋할 스냅샷을 만든다. 모든 파일을 추가할 수도 있고 선택하여 추가할 수 있다.
- Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장한다.
REFERENCE
https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EA%B8%B0%EC%B4%88
'Tools > Git & GitHub' 카테고리의 다른 글
[Git] 커밋 히스토리 조회하기 (0) | 2021.10.12 |
---|---|
[Git] 브랜치란 무엇인가? (0) | 2021.10.12 |
[Git] 버전관리란? (0) | 2021.10.12 |
[Git] 명령어 - Branch와 Merge (0) | 2021.10.11 |
[ Git ] 기본 명령어 정리: About Remote Repository (0) | 2021.10.11 |