[Git] 내가보려고 만든 Git
초기 세팅
.gitignore
명령어
HEAD vs main (+특수 HEAD 종류 정리)
1. 개요용어역할예시HEAD현재 작업 중인 커밋을 가리키는 포인터HEAD → main 또는 HEAD → <커밋 해시>main기본 브랜치 이름 (Git 2.28+ 기본 브랜치)...
Git 명령어 정리
1. Git Commit1.1 개념Git은 디렉토리 전체의 스냅샷을 기록하지만, 실제로는 변경된 부분(delta)만 저장하여 가볍게 유지함.대부분의 커밋은 그 위의 부모 커밋...
git describe
1. Git Describe란?git describe는 현재 커밋(또는 ref)이 가장 가까운 태그로부터 몇 번째 커밋인지, 어떤 커밋인지 요약해주는 명령어이다.주로 버전 관...
git merge
1. Git Merge란?git merge는 다른 브랜치의 변경사항을 현재 브랜치에 병합할 때 사용하는 명령어이다.2. 기본 형식git merge <브랜치명>용어설명현재 브랜...
cherry-pick
1. Git Cherry-pick이란?git cherry-pick은 다른 브랜치의 특정 커밋 하나만 골라 현재 브랜치에 적용하는 명령어이다."딱 필요한 커밋 하나만 따로 복사...
git pull --allow-unrelated-histories
1. git pull --allow-unrelated-histories 란?--allow-unrelated-histories는 Git에서 서로 연관되지 않은 두 히스토리를 강...
git reset
1. Git Reset 이란?git reset은 Git에서 브랜치의 현재 위치(HEAD)를 다른 커밋으로 되돌리거나, 스테이징 상태를 해제하거나, 작업 디렉토리까지 초기화하는...
revert
git tag
1. Git 태그란?**Git 태그(Tag)**는 프로젝트의 커밋 히스토리에서 중요한 지점을 영구적으로 표시하는 기능이다.브랜치와 다르게, 태그는 절대 이동하지 않으며 단순히...
git reflog (git reset 후 커밋 복구)
1. 상황 예시git reset --hard HEAD~1이 명령어로 가장 최근 커밋이 삭제되었고, 스테이징/작업 디렉토리도 초기화됨.2. git reflog란?Git에서 브랜...
병합
구조
Git 내부 구조 (Basic)
1. Git은 파일 버전이 아닌 스냅샷 시스템Git은 "변경점(diff)"이 아니라, 전체 프로젝트의 스냅샷(상태)을 저장한다.커밋 하나 = 전체 폴더의 압축 스냅샷 (단, ...
Git 내부 구조 (Advanced)
1. 🔐 Git 객체의 SHA-1 해시 구조1.1 개요Git은 모든 객체(blob, tree, commit 등)를 SHA-1 해시 값을 통해 식별한다.하나의 커밋은 고유한 4...
commit 생성시 .git 내부 변화
시나리오hello.txt 파일 생성git add hello.txtgit commit -m "Add hello"1. 작업 디렉토리 (Working Directory)echo "...
Git 명령어에 따른 .git 내부 구조 변화(1부)
1. git merge 시 내부 변화1.1 예시 명령어git checkout main git merge feature1.2 .git 내부 변화구성 요소변화 내용.git/ob...
Git 명령어에 따른 .git 내부 구조 변화 (2부)
4. git stash 시 내부 변화4.1 예시 명령어git stash4.2 .git 내부 변화구성 요소변화 내용.git/objects/현재 작업 상태(스냅샷)가 stash용...
도식화
1. 전체 구조 개요.git/ ├── HEAD ← 현재 가리키는 브랜치 (예: ref: refs/heads/main) ├── config ...
마인드맵
Git 내부 구조 ├── 1. Working Directory │ └── 실제 작업 공간 (코드 작성, 수정) │ ├── 2. Index (Staging Area)...