본문 바로가기

WEB개발보조

[Git] Git정리

 

1. Git  User설정

 config는 global 모드와  local 모드로 설정이 가능하다. global 모드로 설정하면 컴퓨터 내의 모든 git의 관리를 받는 폴더에 대해 값이 설정되는 것이며, local 설정은 현재 디렉터리에만 값을 설정

 

git config {--global | --local} user.name "{userName}"

git config {--global | --local } user.email "{userEmail}"

 

 

2. Git 저장구조

https://jwss.tistory.com/19

 

 


 

 

 

git에서 활용하는 데이터들이 저장되는 곳이다. 2글자의 폴더 밑에 38글자의 파일명을 가지는 특이한 구조를 가진다.

 

objects의 구성은 실제 파일에 담긴 값들을 SHA1 해시한 값 40자 중 2자는 폴더명 38자는 파일명으로 두어 식별자로 활용한다.

 

해싱을 사용했을 때, 소스 코드의 일부만을 바꾸더라도 별개의 해시값이 되기 때문에, 파일 식별이 쉬워지게 된다. (추가로 SHA1 해시 처리 전, zlib으로 한번의 압축이 진행된다.)

저장되는 파일의 형태는 크게 3가지 blob, tree, commit으로 분리된다.

 

 

1. Blog 

 

소스 코드, 이미지 등 다양한 파일의 데이터를 저장한다. 파일의 메타 데이터를 저장하지 않고 데이터 자체만을 저장한다. (파일명과 같은 메타데이터는 저장되지 않음) 그렇기 때문에, 동일한 소스 코드를 가진 파일이 여러 개 있더라도 하나의 blob 파일만 생성된다

 

 

2. Tree

 

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

 

 

3. Commit

 

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

 

 

 

 

 

 


 

https://jwss.tistory.com/19

 

 

 

https://tecoble.techcourse.co.kr/post/2021-07-08-dot-git/