구멍가게 IT 공부방

git init 과 --bare 옵션 본문

형상관리/Git

git init 과 --bare 옵션

방구석코딩 2020. 6. 24. 17:01

 

🧾 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