-
Git RepositoryGit 2026. 5. 20. 16:17๋ฐ์ํ
Git Repository
Git Repository(๋ ํฌ์งํ ๋ฆฌ)๋ Git์ ์ํด ๊ด๋ฆฌ๋๋ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ
๋ ํฌ์งํ ๋ฆฌ ์์๋ ํ๋ก์ ํธ์ ๋ชจ๋ ํ์ผ๊ณผ ๊ฐ ํ์ผ์ ์์ ์ด๋ ฅ์ ๋ด์ ์ ๋ณด ํฌํจ
๋ ํฌ์งํ ๋ฆฌ๋ฅผ ํตํด Git์ ํ๋ก์ ํธ์ ์ํ๋ฅผ ํน์ ์์ ์ผ๋ก ๋๋๋ฆด ์ ์๊ฑฐ๋, ๋ณ๊ฒฝ ์ด๋ ฅ์ ์กฐํํ๊ฑฐ๋, ๋ค๋ฅธ ๋ธ๋์น๋ก ์ ํํ๋ ๋ฑ์ ์์ ์ํ
๋ ํฌ์งํ ๋ฆฌ์ ์ฃผ์ ์์
- Working Directory: ํ์ฌ ์์ ์ค์ธ ํ๋ก์ ํธ์ ํ์ผ๋ค์ด ์์นํ๋ ๋๋ ํฐ๋ฆฌ
- Staging Area(Indedx): ์ปค๋ฐํ๊ธฐ ์ํด ์ ํํ ํ์ผ๋ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์์ญ, ์ด ์์ญ์ ํตํด ์ํ๋ ํ์ผ๋ค๋ง์ ์ปค๋ฐ์ ํฌํจ ์ํค๋ ๊ฒ์ด ๊ฐ๋ฅ
- .git Directory(Repository): Git์ ๋ฉํ๋ฐ์ดํฐ์ ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํ๋ ๋๋ ํฐ๋ฆฌ, ์ด ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ณต์ฌํ๋ฉด ํ๋ก์ ํธ์ ๋ชจ๋ ์ ๋ณด์ ํ์คํ ๋ฆฌ๋ฅผ ๋ณต์ฌํ๋ ๊ฒ๊ณผ ๊ฐ์
๋ ํฌ์งํ ๋ฆฌ์ ์ ํ
Git ๋ ํฌ์งํ ๋ฆฌ์๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์ ํ ์กด์ฌ
- ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ: ๊ฐ๋ฐ์์ ์ปดํจํฐ์ ์ ์ฅ๋ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ฌ๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ ํ๊ณ , ์ปค๋ฐ์ ์์ฑํ๋ฉฐ, ๋ธ๋์น๋ฅผ ๊ด๋ฆฌ
- ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ: ์ธํฐ๋ท ์์ ์กด์ฌํ๋ ๋ ํฌ์งํ ๋ฆฌ๋ก ์ฌ๊ธฐ์ ๊ฐ๋ฐ์๋ค์ ์ฝ๋๋ฅผ ๊ณต์ ํ๊ณ ํ์ ์ ์งํ, GitHub, GitLab, Bitbucket ๋ฑ์ ์๋น์ค๊ฐ ์ด์ ํด๋น
๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ ์์ฑ
git init ๋ช ๋ น์ด, Git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ด๊ธฐํํ๊ฑฐ๋ ์๋ก์ด Git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด
๊ธฐ๋ณธ์ ์ผ๋ก ํด๋ 1๋น ์ ์ฅ์ 1
์ ํด๋๋ฅผ ์์ฑํด๋ณด์


(์ฐธ๊ณ ) option+command+C: ์ฃผ์ ๋ณต์ฌ
cd # option+command+C ํด๋ ์ด๋ ls # ํด๋ ์ ํ์ผ ๋ฆฌ์คํธ ํ์ธ ํ์ฌ๋ ์๋ฌด๊ฒ๋ ๋จ์ง ์์ ๊ฒ git status # ์๋ฌ ๋ฐ์, ํ์ฌ git ์ ์ฅ์ ์๋๊ธฐ ๋๋ฌธ
์ฌ์ฉ๋ฒ
๊ธฐ๋ณธ์ ์ผ๋ก git init ๋ช ๋ น์ด๋ ํ์ฌ ์์ ์ค์ธ ๋๋ ํฐ๋ฆฌ์ ์๋ก์ด Git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๊ฑฐ๋ ์ด๊ธฐํ
์ฆ, git init ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ํ์ฌ ๋๋ ํฐ๋ฆฌ์ ‘.git’ ๋ผ๋ ์๋ก์ด ํ์ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋๋๋ฐ,
์ด ๋๋ ํฐ๋ฆฌ๋ ๋ ํฌ์งํ ๋ฆฌ์ ๋ชจ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์์
git init # ๊น ์ ์ฅ์ ์์ฑ, '.'์จ๊น ํ์ผ # ->command+shift+. ์จ๊ฒจ์ง ํด๋ ํ์ธ ๊ฐ๋ฅ, ์ถ์ ์ ์ฒ์ ํ ๋ฒ๋ง ์ ๋ ฅgit init๋ ๋ํ ๋ช ๋ น์ด ๋ค์ ๋๋ ํฐ๋ฆฌ ์ด๋ฆ์ ์ถ๊ฐํ๋ฉด,
ํด๋น ์ด๋ฆ์ ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ๊ณ ๊ทธ ์์ ์๋ก์ด Git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑ ๊ฐ๋ฅ
์:
$ git init my_project‘my_project’ ๋ผ๋ ์ด๋ฆ์ ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ๊ณ , ์ด ๋๋ ํฐ๋ฆฌ๋ฅผ Git ๋ ํฌ์งํ ๋ฆฌ๋ก ์ด๊ธฐํ
ํน์ง
git init ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด, ์๋ก์ด Git ๋ ํฌ์งํ ๋ฆฌ๊ฐ ์์ฑ๋์ง๋ง ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋ ํ์ผ์ ์์
๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ํ๋ ค๋ฉด, ๋จผ์ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ์์ ํ ํ
git add ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ๋ณ๊ฒฝ์ฌํญ์ ์คํ ์ด์ง ์์ญ์ ์ถ๊ฐํ๊ณ ,
git commit ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ๋ณ๊ฒฝ์ฌํญ์ ๋ ํฌ์งํ ๋ฆฌ์ ์ ์ฅํด์ผ ํจ
git init๋ ๋ก์ปฌ์์ ์์ ํ๋ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ,
์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ(์: GitHub)์ ์ฌ๋ฆฌ๋ ค๋ฉด ์ถ๊ฐ์ ์ธ ์์ ํ์
์ค์ต
- ์ํ๋ ๋๋ ํ ๋ฆฌ์์ ํด๋๋ฅผ ํ๋ ์์ฑํ๊ณ ํด๋น ํด๋๋ก ์ด๋
mkdir MusicBank && cd MusicBank
2. ‘git init’ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ํด๋น ํด๋๋ฅผ git repository๋ก ๋ง๋ค์ด ๋ฒ์ ๊ด๋ฆฌ ์์

3. ‘ls -a’ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ์จ๊นํด๋์ธ ‘.git’ ํด๋๊ฐ ์์ฑ๋์๋์ง ํ์ธ

.git ํด๋
.git ํด๋๋ Git ๋ ํฌ์งํ ๋ฆฌ์ ํต์ฌ ๋ถ๋ถ
๋ชจ๋ Git์ ๋ฉํ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ
.git ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ๋ ๋๋ ํ ๋ฆฌ๋ Git์ ๊ด๋ฆฌ ์๋์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ
git init ๋ช ๋ น์ ํตํด Git ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์ด๊ธฐํํ๋ฉด, .git ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋๊ณ
๊ทธ ์์๋ ์๋์ ๊ฐ์ ์ฌ๋ฌ ํ์ ๋๋ ํ ๋ฆฌ์ ํ์ผ๋ค์ด ์์ฑ
1. HEAD:
ํ์ฌ ์ฒดํฌ์์๋ ์ปค๋ฐ์ ๊ฐ๋ฆฌํด
2. config:
๋ ํฌ์งํ ๋ฆฌ ์ค์ ์ ์ ์ฅํ๋ ํ์ผ,
์ด ํ์ผ์๋ ์ฌ์ฉ์ ์ ๋ณด, ์๊ฒฉ ๋ ํฌ์งํ ๋ฆฌ์ URL, ๊ทธ ์ธ์ ๋ ํฌ์งํ ๋ฆฌ ๊ด๋ จ ์ค์ ์ด ์ ์ฅ
3. description:
๋ ํฌ์งํ ๋ฆฌ์ ๋ํ ์ค๋ช ์ ์ ์ฅํ๋ ํ์ผ
Git ์น ์ธํฐํ์ด์ค์์ ์ด ํ์ผ์ ๋ด์ฉ์ ๋ ํฌ์งํ ๋ฆฌ ์ค๋ช ์ผ๋ก ์ฌ์ฉํ์ง๋ง,
์ผ๋ฐ์ ์ผ๋ก ๋ก์ปฌ ๋ ํฌ์งํ ๋ฆฌ์์๋ ์ด ํ์ผ์ด ์ฌ์ฉ๋์ง ์์
4. hooks:
Git ํ (hook) ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ
์ด ์คํฌ๋ฆฝํธ๋ค์ ํน์ Git ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์คํ
5. info:
์ ์ญ .gitignore ํ์ผ ๋ฑ์ ์ผ๋ฐ์ ์ธ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ
6. objects:
๋ชจ๋ ๋ฐ์ดํฐ(์ปค๋ฐ, ํธ๋ฆฌ, ๋ธ๋กญ ๋ฑ)๋ฅผ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ
7. refs:
๋ธ๋์น์ ํ๊ทธ์ ๋ํ ์ฐธ์กฐ(reference)๋ฅผ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ
.git ๋๋ ํ ๋ฆฌ๋ ํ๋ก์ ํธ์ ๋ชจ๋ ์ด๋ ฅ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์,
์ด ๋๋ ํ ๋ฆฌ๋ฅผ ๋ณต์ฌํ๋ฉด ํ๋ก์ ํธ์ ๋ชจ๋ ๋ฒ์ ์ ๋ณด์ ํ์คํ ๋ฆฌ๋ฅผ ๋ณต์ฌํ๋ ๊ฒ๊ณผ ๊ฐ์
ํ์ง๋ง ์ด ๋๋ ํ ๋ฆฌ๋ ์ง์ ์์ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์๋๋ผ Git ๋ช ๋ น์ด๋ฅผ ํตํด ๊ด๋ฆฌํด์ผ ํจ
๊ทธ๋ ์ง ์์ผ๋ฉด ๋ ํฌ์งํ ๋ฆฌ๊ฐ ์์๋ ์ ์์
โ ๏ธ ์ฃผ์์ฌํญ!!
.git ๋๋ ํ ๋ฆฌ ์ง์ ์์ ํ๊ฑฐ๋ ๋ณ๊ฒฝ ๊ธ์ง
1. git init ๋ช ๋ น์ด๋ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ํ ๋ ์ต์ด 1๋ฒ๋ง ์ ๋ ฅํ ๊ฒ!!
- ์ด๋ฏธ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์์๋ ํด๋๋ฅผ ๋ค์ initํ๋ ์ค์๋ฅผ ์ ์ง๋ฅด์ง ๋ง ๊ฒ!
2. git init์ ํ๋ฉด .git ํด๋๊ฐ ์์ฑ๋๋๋ฐ ์ด ํด๋๋ ์ง์ฐ์ง ๋ง์
- .git ํด๋๊ฐ ์ญ์ ๋๋ฉด ๊ทธ๋์ ๋ฒ์ ๊ด๋ฆฌํ๋ ์ด๋ ฅ์ด ๋ชจ๋ ์์ค๋จ
- ๊ทธ๋์ ์์ ์ ์ํด ์จ๊น ์ฒ๋ฆฌ๊ฐ ๋์ด์๋ ๊ฒ
3. git init์ ํ๋ ํด๋์ ํ์ ํด๋์ ๋ ๋ค์ git init์ ํ์ง ๋ง ๊ฒ!!
- git init์ ํ๋ฉด .git์ด ์๊ธฐ๊ณ ์ด๊ฒ์ ํ์ ํด๋๊น์ง ์ ๋ถ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๊ฒ ๋ค๋ ์๋ฏธ
- ํ์ํด๋์์ ๋๋ค์ git init ๋ช ๋ น์ด๋ก .git ํด๋๋ฅผ ์์ฑํ๋ฉด ์ค์ฒฉ์ผ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์
- ์ค์๋ก ํ์ ํด๋์์ git init์ ์คํํ๋ค๋ฉด .git ํด๋๋ฅผ rm -rf ๋ช ๋ น์ด๋ก ์ญ์ ํ์
4. github์ ๊ฐ์ ์๊ฒฉ ์ ์ฅ์์์ cloneํ ์ ์ฅ์์๋ gitinit ์คํํ์ง ๋ง ๊ฒ
- ์๊ฒฉ์ ์ฅ์์์ ๋ด๋ ค๋ฐ์ ํด๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๋๊ณ ์๋ ์ํ
- ๋ ๋ค์ init ํ ํ์๊ฐ ์์
๋ฐ์ํ'Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] Merge vs Rebase / Fetch vs Pull ์ฐจ์ด (0) 2026.07.07 [Git] Atomic Commit๊ณผ ์ข์ ์ปค๋ฐ ๋ฉ์์ง ์์ฑ๋ฒ (0) 2026.06.05 Basic Git Workflow : Add, Commit (0) 2026.05.20 ๊ธฐ๋ณธ ํฐ๋ฏธ๋ ๋ช ๋ น์ด (0) 2026.05.20 Git Intro (0) 2026.05.09