티스토리 뷰
1. Git 이란?
Git은 분산 버전 관리 시스템의 대표적인 프로그램으로
초기 로컬 버전 관리 (VCS)와 중앙집중식 버전 관리(CVCS)를 거쳐 나온 게 분산 버전 관리 시스템(DVCS)이다.
분산 버전 관리는 파일을 저장한 서버에서 파일 전체를 로컬 컴퓨터로 다운로드하여 파일을 수정을 한다.
다운로드 시 저장소를 히스토리와 더불어 전부 복제하기 때문에 중앙 서버에 문제가 생겨도 다운로드한 복제 파일로 작업을 할 수 있어 안정적이다.
2.Git의 핵심
Git과 다른 시스템들의 큰 차이는 데이터를 다루는 방법이다. 다른 VCS 시스템들은 각 파일의 변화를 시간순으로 관리하면서 파일의 집합을 관리하는데 Git은 데이터를 스냅샷의 스트림처럼 취급하며, 크기가 아주 작다. 또한 성능을 위해 파일의 내용이 달라지지 않았다면 새로 저장하지 않으며, 이전 상태 파일에 대한 링크만 저장한다. 단 Git은 데이터를 추가할 뿐 되돌리거나 데이터 삭제는 불가하다.
Git은 데이터를 관리하기 위해 SHA-1 해시를 사용한 체크섬(40자 길이의 16진수 문자열)을 만든다. 데이터 저장 전 항상 체크섬을 구하고 이 체크섬으로 데이터를 관리하기 때문에 Git 없이는 파일의 상태를 알 수 없고 데이터를 잃어버릴 수도 없다.
Git은 파일을 commit, modifide, staged 세가지로 구분한다.
Committed : 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미
Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것
Staged : 란 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미
우리가 Git으로 하는 일은 아래와 같다.
1. Gti 디렉터리에서 프로젝트를 가져와 워킹 트리에서 파일을 수정한다. Modifide
2. 수정된 파일을 Staging Area에 Stage 해서 커밋할 스냅샷을 만든다. (모든 파일을 추가할 수도 있고 선택하여 추가할 수도 있다.) Staged
Staged
3. Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장한다. Commit
내용 참고 및 이미지출처 - Pro Git
'study > Git' 카테고리의 다른 글
Git-remote, push, pull (0) | 2022.06.08 |
---|---|
Git-branch (0) | 2022.06.06 |
Git- Staged (0) | 2022.06.05 |
Git - init, add, commit (0) | 2022.06.04 |
Git 사용하기 - 설정 편 (0) | 2022.06.02 |
- Total
- Today
- Yesterday
- django
- 혼자 공부하는 파이썬
- git
- error: failed to push some refs to 'https://github.com/
- git 공부
- django-environ
- 면접을 위한 CS 전공 지식 노트
- path variable
- musma
- python3
- 회원 로그인
- Magazine K
- 배열
- Python
- 암호화
- django.contrib.auth
- Java
- Spring
- 커맨드 객체
- API
- 디자인 패턴
- Django tutorial
- 한글 형태소 분석기
- authenticate()
- 톰캣
- 검색 결과 내 페이지네이션
- 환경 변수 설정
- git공부
- 회원가입
- 웹페이지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |