D bu gisti düzenledi . Düzenlemeye git
1 file changed, 31 insertions, 26 deletions
git\354\235\230 \354\206\214\354\212\244\352\264\200\353\246\254.md"
| @@ -1,43 +1,48 @@ | |||
| 1 | - | 깃 클론(git clone)을 하면 서버 저장소가 그대로 복제되어 로컬에 작업 가능한 레포지토리 폴더가 생깁니다. 구조는 다음과 같습니다: | |
| 1 | + | 깃 클론(`git clone`)을 하면 서버 저장소가 그대로 복제되어 로컬에 **작업 가능한 레포지토리 폴더**가 생깁니다. 구조는 다음과 같습니다: | |
| 2 | 2 | ||
| 3 | + | ``` | |
| 3 | 4 | project-name/ ← 클론된 프로젝트 루트 디렉터리 | |
| 4 | 5 | ├─ .git/ ← 깃 내부 데이터 저장소 (원격과 동기화, 브랜치, 커밋 내역 등) | |
| 5 | 6 | ├─ README.md ← 서버 저장소에 있던 일반 파일들 | |
| 6 | 7 | ├─ src/ ← 서버 저장소에 있던 소스 코드 디렉터리 | |
| 7 | 8 | ├─ package.json ← 예시: Node.js 프로젝트라면 포함될 수 있는 파일 | |
| 8 | 9 | └─ ... ← 서버 저장소에 있던 나머지 파일들 | |
| 10 | + | ``` | |
| 9 | 11 | ||
| 10 | 12 | 핵심 포인트: | |
| 11 | - | • .git/ 폴더: 모든 커밋 히스토리, 브랜치 정보, 원격 연결 정보가 들어 있음. (실제 레포지토리 핵심) | |
| 12 | - | • 나머지 파일들: 서버에 올라간 최신 스냅샷(HEAD 브랜치의 워킹 디렉터리)이 그대로 복제됨. | |
| 13 | - | • 따라서 로컬에는 (1) 깃 관리용 숨김 폴더 + (2) 실제 작업 파일들 두 층이 공존. | |
| 14 | 13 | ||
| 15 | - | 정리하면, git clone → 내 로컬에 하나의 프로젝트 폴더가 생기고, 그 안에 .git과 서버 저장소의 파일들이 들어오는 구조입니다. | |
| 14 | + | * **`.git/` 폴더**: 모든 커밋 히스토리, 브랜치 정보, 원격 연결 정보가 들어 있음. (실제 레포지토리 핵심) | |
| 15 | + | * **나머지 파일들**: 서버에 올라간 최신 스냅샷(HEAD 브랜치의 워킹 디렉터리)이 그대로 복제됨. | |
| 16 | + | * 따라서 로컬에는 **(1) 깃 관리용 숨김 폴더 + (2) 실제 작업 파일들** 두 층이 공존. | |
| 17 | + | ||
| 18 | + | 정리하면, `git clone` → 내 로컬에 **하나의 프로젝트 폴더**가 생기고, 그 안에 `.git`과 서버 저장소의 파일들이 들어오는 구조입니다. | |
| 16 | 19 | ||
| 17 | 20 | --- | |
| 18 | 21 | ||
| 19 | - | 로컬에서 git clone 한 시점 이후 소스와 메타데이터는 모두 클론된 레포지토리 폴더 안에만 존재합니다. | |
| 22 | + | ||
| 23 | + | 로컬에서 `git clone` 한 시점 이후 소스와 메타데이터는 모두 **클론된 레포지토리 폴더 안**에만 존재합니다. | |
| 20 | 24 | 깃은 별도의 전역 디렉터리에 소스 사본을 두지 않습니다. 구조를 나눠보면: | |
| 21 | - | 1. 작업 파일(Working Directory) | |
| 22 | - | • 레포지토리 루트 아래 일반 파일들 (src/, README.md, 등). | |
| 23 | - | • 사용자가 수정·빌드·실행하는 실제 코드. | |
| 24 | - | 2. 깃 데이터베이스(.git/ 디렉터리) | |
| 25 | - | • 커밋 객체, 블롭(blob), 트리(tree), 태그, 브랜치, 원격 정보. | |
| 26 | - | • 깃의 “메타데이터” 전부가 여기에 들어 있음. | |
| 27 | - | • .git/objects/ 에는 실제 소스 파일 내용(스냅샷)이 압축 저장됨. | |
| 28 | - | • .git/refs/ 는 브랜치/태그 포인터. | |
| 29 | - | • .git/config 는 원격 URL, 사용자 환경 설정. | |
| 30 | - | 3. 글로벌 설정(필요할 때만) | |
| 31 | - | • 사용자 홈 디렉터리(~/.gitconfig) → 사용자명/이메일/에디터 같은 글로벌 환경설정. | |
| 32 | - | • 하지만 여기에는 개별 레포지토리의 소스나 커밋 히스토리는 전혀 들어가지 않음. | |
| 33 | - | ||
| 34 | - | 즉, 깃은 SVN처럼 별도의 중앙 작업공간이나 숨은 캐시폴더를 두지 않습니다. | |
| 35 | - | 로컬에 생기는 건 딱: | |
| 36 | - | • 레포지토리 폴더 (코드 + .git) | |
| 37 | - | • 전역 설정 파일(~/.gitconfig) | |
| 38 | 25 | ||
| 39 | - | 끝입니다. | |
| 26 | + | 1. **작업 파일(Working Directory)** | |
| 27 | + | ||
| 28 | + | * 레포지토리 루트 아래 일반 파일들 (`src/`, `README.md`, 등). | |
| 29 | + | * 사용자가 수정·빌드·실행하는 실제 코드. | |
| 30 | + | ||
| 31 | + | 2. **깃 데이터베이스(.git/ 디렉터리)** | |
| 40 | 32 | ||
| 41 | - | 👉 질문 의도가 “혹시 윈도우 AppData 같은데 따로 소스를 캐시한다거나 메타데이터 DB를 둔 게 있냐?”라면, 없습니다. 전부 .git/ 내부에만 저장됩니다. | |
| 33 | + | * 커밋 객체, 블롭(blob), 트리(tree), 태그, 브랜치, 원격 정보. | |
| 34 | + | * 깃의 "메타데이터" 전부가 여기에 들어 있음. | |
| 35 | + | * `.git/objects/` 에는 실제 소스 파일 내용(스냅샷)이 압축 저장됨. | |
| 36 | + | * `.git/refs/` 는 브랜치/태그 포인터. | |
| 37 | + | * `.git/config` 는 원격 URL, 사용자 환경 설정. | |
| 38 | + | ||
| 39 | + | 3. **글로벌 설정(필요할 때만)** | |
| 40 | + | ||
| 41 | + | * 사용자 홈 디렉터리(`~/.gitconfig`) → 사용자명/이메일/에디터 같은 글로벌 환경설정. | |
| 42 | + | * 하지만 여기에는 **개별 레포지토리의 소스나 커밋 히스토리**는 전혀 들어가지 않음. | |
| 43 | + | ||
| 44 | + | 즉, 깃은 SVN처럼 **별도의 중앙 작업공간이나 숨은 캐시폴더를 두지 않습니다.** | |
| 45 | + | 로컬에 생기는 건 딱: | |
| 42 | 46 | ||
| 43 | - | 원하시면 제가 .git/ 내부 구조를 세부적으로 트리 형태로 풀어서 보여드릴까요? | |
| 47 | + | * 레포지토리 폴더 (코드 + `.git`) | |
| 48 | + | * 전역 설정 파일(`~/.gitconfig`) | |
D bu gisti düzenledi . Düzenlemeye git
1 file changed, 43 insertions
git\354\235\230 \354\206\214\354\212\244\352\264\200\353\246\254.md" (dosya oluşturuldu)
| @@ -0,0 +1,43 @@ | |||
| 1 | + | 깃 클론(git clone)을 하면 서버 저장소가 그대로 복제되어 로컬에 작업 가능한 레포지토리 폴더가 생깁니다. 구조는 다음과 같습니다: | |
| 2 | + | ||
| 3 | + | project-name/ ← 클론된 프로젝트 루트 디렉터리 | |
| 4 | + | ├─ .git/ ← 깃 내부 데이터 저장소 (원격과 동기화, 브랜치, 커밋 내역 등) | |
| 5 | + | ├─ README.md ← 서버 저장소에 있던 일반 파일들 | |
| 6 | + | ├─ src/ ← 서버 저장소에 있던 소스 코드 디렉터리 | |
| 7 | + | ├─ package.json ← 예시: Node.js 프로젝트라면 포함될 수 있는 파일 | |
| 8 | + | └─ ... ← 서버 저장소에 있던 나머지 파일들 | |
| 9 | + | ||
| 10 | + | 핵심 포인트: | |
| 11 | + | • .git/ 폴더: 모든 커밋 히스토리, 브랜치 정보, 원격 연결 정보가 들어 있음. (실제 레포지토리 핵심) | |
| 12 | + | • 나머지 파일들: 서버에 올라간 최신 스냅샷(HEAD 브랜치의 워킹 디렉터리)이 그대로 복제됨. | |
| 13 | + | • 따라서 로컬에는 (1) 깃 관리용 숨김 폴더 + (2) 실제 작업 파일들 두 층이 공존. | |
| 14 | + | ||
| 15 | + | 정리하면, git clone → 내 로컬에 하나의 프로젝트 폴더가 생기고, 그 안에 .git과 서버 저장소의 파일들이 들어오는 구조입니다. | |
| 16 | + | ||
| 17 | + | --- | |
| 18 | + | ||
| 19 | + | 로컬에서 git clone 한 시점 이후 소스와 메타데이터는 모두 클론된 레포지토리 폴더 안에만 존재합니다. | |
| 20 | + | 깃은 별도의 전역 디렉터리에 소스 사본을 두지 않습니다. 구조를 나눠보면: | |
| 21 | + | 1. 작업 파일(Working Directory) | |
| 22 | + | • 레포지토리 루트 아래 일반 파일들 (src/, README.md, 등). | |
| 23 | + | • 사용자가 수정·빌드·실행하는 실제 코드. | |
| 24 | + | 2. 깃 데이터베이스(.git/ 디렉터리) | |
| 25 | + | • 커밋 객체, 블롭(blob), 트리(tree), 태그, 브랜치, 원격 정보. | |
| 26 | + | • 깃의 “메타데이터” 전부가 여기에 들어 있음. | |
| 27 | + | • .git/objects/ 에는 실제 소스 파일 내용(스냅샷)이 압축 저장됨. | |
| 28 | + | • .git/refs/ 는 브랜치/태그 포인터. | |
| 29 | + | • .git/config 는 원격 URL, 사용자 환경 설정. | |
| 30 | + | 3. 글로벌 설정(필요할 때만) | |
| 31 | + | • 사용자 홈 디렉터리(~/.gitconfig) → 사용자명/이메일/에디터 같은 글로벌 환경설정. | |
| 32 | + | • 하지만 여기에는 개별 레포지토리의 소스나 커밋 히스토리는 전혀 들어가지 않음. | |
| 33 | + | ||
| 34 | + | 즉, 깃은 SVN처럼 별도의 중앙 작업공간이나 숨은 캐시폴더를 두지 않습니다. | |
| 35 | + | 로컬에 생기는 건 딱: | |
| 36 | + | • 레포지토리 폴더 (코드 + .git) | |
| 37 | + | • 전역 설정 파일(~/.gitconfig) | |
| 38 | + | ||
| 39 | + | 끝입니다. | |
| 40 | + | ||
| 41 | + | 👉 질문 의도가 “혹시 윈도우 AppData 같은데 따로 소스를 캐시한다거나 메타데이터 DB를 둔 게 있냐?”라면, 없습니다. 전부 .git/ 내부에만 저장됩니다. | |
| 42 | + | ||
| 43 | + | 원하시면 제가 .git/ 내부 구조를 세부적으로 트리 형태로 풀어서 보여드릴까요? | |