일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- oracle
- 랜섬웨어
- php
- 자바스크립트 기본 문법
- 카카오프로젝트
- ES6
- 보안뉴스 한줄요약
- 카카오프로젝트 100
- 보안뉴스한줄요약
- 자바스크립트 API
- 보안뉴스 요약
- python
- Oracle SQL
- 카카오프로젝트100
- 자바스크립트 prototype
- 자바스크립트
- numpy
- javascript
- 자바스크립트 jQuery
- 자바스크립트 객체
- 파이썬
- 자바스크립트 element api
- 자바스크립트 node
- GIT
- oracle db
- 오라클
- 다크웹
- 보안뉴스요약
- 보안뉴스
- 깃허브
- Today
- Total
FU11M00N
[ git & github ] Git 동작 원리 본문
이 포스팅은 구름 에듀 강좌 나동빈 선생님 강의 "Git으로 시작하는 협업 및 오픈소스 프로젝트" 를 기반으로 작성되었습니다.
edu.goorm.io/learn/lecture/11528/git으로-시작하는-협업-및-오픈소스-프로젝트/info
구름EDU - 모두를 위한 맞춤형 IT교육
구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/
edu.goorm.io
- 깃 동작 원리
기본적으로 깃 프로젝트의 담겨 있는 데이터들은 파일 시스템 상에서의 스냅샷이라고 볼 수 있습니다.
실제 프로젝트를 커밋하여 적용할 때의 순간을 중요시 합니다.
파일 자체를 수정하기보다 수정 내역 자체를 저장합니다.
이는 곧 깃이 메모리 적으로 효율적이라는 것을 뜻합니다.
- 깃 프로젝트의 세가지 요소
- Working Directory : 작업할 파일이 있는 디렉토리 입니다.
- Staging Area : 커밋(Commit)을 수행할 파일들이 올라가는 영역입니다. (add 즉 추가 명령이 사용될 때의 영역)
- Git Directory : Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리입니다. (.git 파일 존재)
깃 프로젝트는 이렇게 위 3가지 요소를 통해 구성됩니다.
- Git 동작 과정
git fetch : 다른 사람이 작업한 데이터를 자신의 컴퓨터의 받을 수가 있습니다.
git merge : 동시 작업을 하여 충돌이 발생하는 경우, 우리 컴퓨터와 리모트 리포지토리를 맞추어 주는 역할을 합니다.
이 두가지 명령을 합쳐서 한 번에 사용하는 명령어인 "git pull" 을 사용해도 된다.
- 저장소(repository)
각종 파일이나 소스코드가 담겨 있으면서 커밋 내역등의 모든 작업 이력이 담긴 공간입니다.
"repo" 라고도 부릅니다.
실제로 프로젝트의 메타 데이터를 포함해 각종 데이터는 .git에 담기게 됩니다.
즉 환경설정과 관련된 폴더라고 생각하면 됩니다.
각종 수정 내역들이 파일 형태로 저장되는 것을 볼 수 있습니다.
각각의 작업 내역을 구분할 수 있도록 해시 값을 사용합니다.
커밋 내역을 관리합니다.
'Git' 카테고리의 다른 글
[ git & github ] Git Commit 내역 수정하기. (0) | 2021.02.18 |
---|---|
[ git & github ] Git 저장소에 코드 수정 반영 (0) | 2021.02.18 |
[ git & github ] Git 등장 배경과 장점 쓰는이유 (0) | 2021.02.18 |
[ git & github ] 오픈 소스란, 깃허브 contribute, 커뮤터 (0) | 2021.02.18 |
[ git & github ] git 설치 하기 & git 기본 사용법 (0) | 2021.02.18 |