boostcamp Day13-14 학습정리

ttobe·2023년 7월 26일
0

boostcamp

목록 보기
9/15
post-thumbnail

공부

버전 관리 시스템 (VCS, Version Control System)

소프트웨어 개발 및 유지 보수 과정에서 발생하는 소스 코드, 문서 등의 생성, 변경 이력, 삭제 이력 등을 관리하는 것

중앙집중식
한 서버만 바라본다 -> 부하가 크다, 서버 단 하나의 데이터라 복구 어렵다.

분산식
분산식 버전 관리 시스템에서는 각 클라이언트들이 모두 서버의 백업본을 가진다.
중앙 집중식 버전 관리 시스템에 비해 복잡하고, 동기화 문제가 있다는 단점이 있다.

Git

git
분산형 버전 관리 시스템(Version Control System) 의 한 종류

GitHub

깃 저장소 서버를 대신 유지 및 관리해주는 서비스

Repository

저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다.

.git 내부 구조 File

1. Blob

소스 코드, 이미지 등 다양한 파일의 데이터를 저장한다. 파일의 메타 데이터를 저장하지 않고 데이터 자체만을 저장한다.

2. Tree

폴더 구조를 git에서도 관리해주는 것이 tree 파일이다. Blob에는 실제 파일의 데이터들이 저장되는 것과는 다르게, tree에는 파일 식별자, 파일 데이터의 해시값, 파일의 이름이 저장된다.

3. Commit

각각의 커밋별로 하나의 커밋 파일로 저장된다. git으로 관리되는 가장 바깥 tree의 해시값, author, commiter, 커밋 메시지의 정보가 저장이 된다.

/refs

refs의 폴더 구조는 위와 같이 구성되며, git에서 관리하는 branch들의 정보가 들어 있다. 로컬에서 작업하는 부분은 heads, 원격 저장소는 remotes 안에 관리 된다. 각 브랜치별 마지막 커밋의 해시값을 저장하고 있다.

SHA 해시(hash)

SHA는 안전한 해시 알고리즘(Secure Hash Algorithm)의 약자이며 256은 메모리를 차지하는 비트 수이다.
같은 데이터를 입력하면 언제나 같은 해시값을 얻는다.

단방향(One-Way), 결정적(Deterministic), 연산이 빨라야 한다.(Fast Computation), 쇄도 효과(The Avalanche Effect), 충돌 저항성(Must withstand collisions)

git에서 SHA-1 사용

git 명령어

git remote
git remote 명령으로 현재 프로젝트에 등록된 리모트 저장소를 확인할 수 있다

git log
Git에는 히스토리를 조회하는 명령어인 git log 가 있다.

git clone
git clone [REPO_URL] [DIR]

Hash와 Map


이번 과제 회고

수요일에 사실 약간 멘탈이 좀 나갔다. 계속해서 달리다보니 약간 지친 것 같기도 했다. 그래서 좀만 막혀도 힘들어서 쉬었다 하고, 막혀도 짜증이 많이 났다. 그래도 자고 일어나니 좀 괜찮아져서 목요일 오늘에는 개선을 많이할 수 있었다..... 학습 정리도 좀 시간을 다시 공부하면서 작성하는게 좋을 것 같다. 이번주는 좀 더 힘들었다.

0개의 댓글