프로젝트 형상 관리도구! 리누스 토발즈가 git 을 개발한 후 수행한 최초의 commit 내용

repository 내부에 있는 모든 파일을 모니터링하고 변경 사항을 저장Git은 저장소 내 파일들의 생성부터 삭제 시점까지 모든 변경시점의 수정 내용을 저장

Git이 모든 변경내역을 관리하므로, 파일 트리에서는 현재 버전의 파일만 보게 되어 편리

인터넷 연결과 관계 없이 내 컴퓨터의 파일시스템 내에서 버전을 관리
문서 단위 버전 관리 ❌Subversion ❌repository 는 버전관리를 위한 모니터링 대상이 되는 시스템의 디렉토리(폴더)
git init 또는 git clone 을 수행함에 따라 .git 이 위치하는 경로가 repository 가 됨파일별로 버전을 관리하는 것이 아니라 저장소 전체에 대한 스냅샷 관리
파일 버전 관리도구가 아니라 형상 관리도구라고 부르는 이유
특정 파일만 새로운 버전으로 바꾼다? ❌
특정 파일만 과거 버전으로 돌린다? ❌
⇒ 파일 하나만 변경해도 repository 전체의 버전이 증가함
<aside>
💡 Git 의 스냅샷 저장 방식이 SVN Subversion 등의 변경사항 저장보다 우월한 이유?
Git 이전의 변경사항 저장 방식
.png)
Git 의 스냅샷 저장 방식

(soft link 로 저장)을 저장.gitignore 라는 이름의 파일로 모니터링에서 제외할 파일 지정 가능.gitignore 파일 작성 예시# 로그 파일 무시
*.log
# 빌드 디렉터리 무시
/build/
# 임시 파일 무시
/tmp/
# 특정 파일 무시
config.ini
# 특정 확장자 무시
*.zip
2024 01 29 : GitHub Flow 와 그래프 보는 법, CLI 활용 GitHub 연동 기초
엄격한 절차에 따라 repository 소유자 또는 여러 사람이 승인해야만 변경할 수 있는 “역사서” 가 됨
⇒ 사이트에서 비교적 자유롭게 설정하도록 되어 있을지라도,
함부로 수정하면 공동 작업자들에게 불편함을 야기할 수 있음