git init 과 git init --bare
bare
bare의 단어 뜻은 '벌거벗은', '나체의', '가리지 않은' 뜻입니다.
git init --bare
를 직역하자면 나체의 git init
으로 뜻만 봐도 무엇인가 부족하다는 것을 알 수 있습니다.
차이
git init
은 git repository를 생성함과 동시에 작업 공간을 함께 생성합니다.
git init --bare
는 git repository만 만듭니다.
위에서 언급했듯 git init --bare
가 부족한 것은 바로 작업 공간 입니다.
git init
으로 만든 repository를 non-bare git repository라고 부르고
git init --bare
로 만든 repository를 bare git repository라고 부릅니다.
non-bare git repository
우리가 git clone
을 하거나 git init
을 하게 되면 기본적으로 생성되는 repository 입니다.
clone 받은 모든 폴더와 파일들을 볼 수 있고 해당 repo(repository)에서 파일들을 수정, 삭제, 생성 등을 할 수 있습니다.
아래와 같이 생성한 directory에 히스토리와 같은 모든 git 정보들이 들어있는 .git
파일이 존재 합니다.
주의
non-bare repo*에서 *non-bare repo 로는 push가 되지 않습니다.
bare git repository
작업 영역 없이 저장소 만을 생성합니다. 작업 영역이 없기 때문에 안에서 파일을 추가, 수정, 삭제 등을 할 수 없습니다.
Bare와 non-bare의 차이.
사용 방법
bare repository 생성 후 clone 한 뒤 작업 후 push하기.
git init --bare -> clone -> 작업 -> git add -> git commit -> git push
git init --bare
로 현재 위치에 bare repo 생성(저장소).작업할 위치로 이동 (
cd d:/Eisen/git
)git clone <url>
로 작업할 위치에서 bare repoclone
받기작업 ...
git add
,git commit
,git push
를 하면 됩니다.
non-bare repository 생성 후 작업 후 bare repository 생성한 뒤 push하기
git init -> 작업 -> git add -> git commit -> git init --bare
-> git remote add -> git push --set-upstream
git init
으로 현재 위치에 non-bare repo 생성(작업공간).작업 ...
git add
,git commit
으로 git log에 올리기.원하는 위치에 저장소 생성
git init --bare d:/Eisen/storage
git remote 에 방금 만든 저장소 추가(test로 추가)
git remote add test d:/Eisen/storage
연결 및 push 하기
git push --set-upstream test master
이후로는 git push git push orgin master
)
References
'Tools' 카테고리의 다른 글
Git 다른 email 등록하기 (0) | 2021.10.07 |
---|---|
[Git] git command 정리. (0) | 2021.09.29 |
[Git] 마크다운(Markdown) 사용하기(1) (0) | 2021.08.19 |
[Windows] IIS로 "Hello World" 띄우기(test1.aspx) (0) | 2021.08.19 |
[Docker] Docker 컴포넌트 (0) | 2021.08.19 |