구멍가게 IT 공부방
git init 과 --bare 옵션 본문
🧾 git init 이란?
- 현재 디렉토리를 Git 로컬 저장소로 초기화합니다.
- .git 폴더가 생성되어 변경 이력, 브랜치, 커밋 등이 이 안에 저장됩니다.
git init
📁 일반적으로 .git 디렉토리가 숨겨진 상태로 생성됨.
📦 git init --bare 이란?
- 작업 디렉토리(workspace) 없이 Git 저장소의 순수 데이터만 있는 형태로 초기화합니다.
- 주로 중앙 저장소(Server) 용도로 사용합니다.
- 협업 시 원격 저장소 역할을 합니다 (예: GitHub 없이 자체 Git 서버를 만들고 싶을 때).
git init --bare
.git 폴더는 없고, 그 자체가 .git의 구조를 그대로 가지고 있음.
🔁 차이 비교
| 항목 | git init | git init --bare |
| 용도 | 개발자 개인 작업용 | 중앙 서버(원격 저장소)용 |
| 작업 디렉토리 | 있음 | 없음 |
| 커밋 가능 여부 | 가능 | 불가능 (push만 가능) |
| 예시 경로 | /project | /repo.git |
| GitHub과 비슷한 역할? | ❌ | ✅ |
📌 예제: 로컬에서 bare 저장소 만들고 푸시하기
🔧 1. 중앙 저장소(bare) 생성
mkdir /Users/you/repos/myproject.git
cd /Users/you/repos/myproject.git
git init --bare
💻 2. 개발자(클라이언트) 프로젝트 만들기
mkdir ~/dev/myproject
cd ~/dev/myproject
git init
echo "Hello Git" > readme.md
git add .
git commit -m "첫 커밋"
🔗 3. 원격 저장소 연결 및 푸시
git remote add origin /Users/you/repos/myproject.git
git push origin master # 또는 main
✅ 확인
이제 /Users/you/repos/myproject.git 폴더가 GitHub처럼 원격 저장소 역할을 하게 되고, 다른 사용자가 clone 가능:
git clone /Users/you/repos/myproject.git
📘 참고 요약
명령어 설명
| git init | 로컬 개발용 저장소 생성 |
| git init --bare | 공유/중앙 서버용 저장소 생성 |
| git remote add origin [경로] | 원격 저장소 지정 |
| git push origin main | 원격 저장소로 푸시 |
'형상관리 > Git' 카테고리의 다른 글
| 깃 브랜치(git branch) (0) | 2025.04.08 |
|---|---|
| What is Git? (0) | 2025.04.05 |
| .gitignore 설정 안잡힐때 (0) | 2020.06.24 |
| 미리 생성되어있는 저장소(repository)에 프로젝트를 올리는 방법 (0) | 2020.06.24 |
Comments