

- untracked: ์๋ก์ด ํ์ผ
- modified : ์ถ์ ํ์ผ and ์์ ํจ
1. staging area ์์ญ ํ์ผ ํ์ธ: git status
$ git status
- Staging area์ ์ด๋ค ํ์ผ์ด ๋ณ๊ฒฝ๋์๋์ง, Staging file๋ค์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ค.
- ์๋ก ๋ง๋ ํ์ผ์ ADD ์ฌ๋ถ ํ์ธ
- ์ปค๋ฐ๋ ํ์ผ์ ์์ ํ๊ณ ์๋์ง์ ์ฌ๋ถ ํ์ธ
- untracked, tracked ์ํ ํ์ธ
- ๋ช
๋ น์ด๊ฐ ๋์ํ์ง ์์ ๋ ์๋ฌ ํ์ธ
- ๋ด๊ฐ ์์
ํ ํ์ผ ์ธ์ ๋ค๋ฅธ ํ์ผ์ด ์์ ๋์ง ์์๋์ง ํ์ธ
โ
2. ์ฝ๋๋ก ์ดํด๋ณด๋ ํ์ผ ์ํ
1. article.js, comment.js, user.js ํ์ผ์ ์์ฑํ๊ณ addํ์ง ์์ ์ํฉ์ด๋ค.

2. git add ๋ช ๋ น์ด๋ฅผ ํตํด article.js ํ์ผ์ staging area์ ์ฌ๋ ธ๋ค.
$ git add article.js

3. add ๋ช ๋ น์ด๋ฅผ ์ทจ์
- ์ด๋ค ํ์ผ์ add ํ๋ฉด ์๋๋๋ฐ addํ ๊ฒฝ์ฐ, ํ์ผ์ addํ๊ธฐ ์ ์ํ์ธ unstage ์ํ๋ก ๋ง๋ค ์ ์๋ค.
$ git reset article.js
# staging area์์ ํ์ผ์ ๋ด๋ฆฌ๊ธฐ ์ํด ์์ฃผ ์ด๋ค.
$ git rm --cahce article.js
# git rm ๋ช
๋ น์ด๋ Git์ด ์ถ์ ํ์ง ์๋ untracked file๋ก ๋ง๋ ๋ค.
# git rm์ ์๊ฒฉ์ ์ฅ์์ ๋ก์ปฌ์ ์ฅ์์ staging area ์์ ํ์ผ์ ๋ด๋ฆฌ๋ฉด์ ์ค์ ํ์ผ๋ ์ญ์ ํ๋ค.
# --cached ์ต์
๊ณผ ํจ๊ป ์๊ฒฉ์ ์ฅ์์ ํ์ผ์ ์ญ์ ํ๊ณ , staging area์์ ํ์ผ์ ๋ด๋ฆฌ๊ธฐ ์ํด ์ด๋ค.
4. ์ปค๋ฐ๋ article.js๋ฅผ ์์ ํ ๊ฒฝ์ฐ

article.js์ ์ํ๋ modified์ํ๊ฐ ๋๋ค.
5. $ git diff ๋ช ๋ น์ด๋ฅผ ํตํด commit๋ ํ์ผ์ํ์ ํ์ฌ ์์ ์ค์ธ ์ํ ๋น๊ตํ๋ค.

3. Local Repo ์ ์ฅ์ ๋ฐ์ ๋ด์ญ ํ์ธ: git log
$ git log
Local Repo์ ๋ฐ์๋ commit ๋ด์ญ์ ํ์ธํ๋ค.

$ git log -p -3
# -p, --patch : ๊ฐ commit ์์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ diff์ ๊ฐ์ ์ญํ ์ ์ํํ๋ค.
# -n : ์์ n๊ฐ์ commit๋ง ๋ณด์ฌ์ค๋ค.
$ git log --stat
# --stat: ์ด๋ค ํ์ผ์ด commit์์ ์์ ๋๊ณ ๋ณ๊ฒฝ๋์๋์ง, ํผ์ผ ๋ด ๋ผ์ธ์ ์์ ์ฌํญ ํ์ธ
$ git log --pretty=onelie
# --pretty=onelie: ๊ฐ commit์ ํ ์ค๋ก ์ถ๋ ฅํ๋ค.
$ git log --graph
# --graph: commit๊ฐ์ ์ฐ๊ฒฐ๋ ๊ด๊ณ๋ฅผ ์์คํค ๊ทธ๋ํ๋ก ์ถ๋ ฅํ๋ค.
$ git log -S function_name
# -S: ์ฝ๋์์ ์ถ๊ฐ๋๊ฑฐ๋ ์ ๊ฑฐ๋ ๋ด์ฉ ์ค ํน์ ํ
์คํธ๊ฐ ํฌํจ๋์ด์๋์ง ๊ฒ์ฌํ๋ค.
# ์ ์ฝ๋์์๋ funcion_name์ด ์ถ๊ฐ ํน์ ์ ๊ฑฐ ๋์๋์ง ๊ฒ์ฌํ๋ค.
4. ์ ๋ฆฌ
- git add ๋ช ๋ น์ด๋ฅผ ๊ฑฐ์น ํ์ผ์ Stagged ์ํ๊ฐ ๋๋ค.
- Untracked ํ์ผ์ Git์ ์ถ๊ฐํ๊ธฐ ์ํด์๋ add๋ฅผ ํด์ผํ๋ค.
- Unmodified ํ์ผ์ ํญ์ Git ์ ์ฅ์์ ์๋ ํ์ผ๊ณผ ๋ด์ฉ์ด ๊ฐ์์ ๋ณด์ฅํ ์ ์๋ค.
- Modified ํ์ผ๋ค์ ๊ฐฑ์ ๋ ๋ด์ญ์ ์ ์ฅ์์ ๋ฐ์ํ๊ธฐ ์ํด add์ commit์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- commit์ ์งํํ๋ฉด Stagged ํ์ผ๋ค์ด ์ ์ฅ์์ ๋ฐ์๋๋ฉฐ, unmodified์ํ๊ฐ ๋๋ค.
'๐ DevOps > ๐ฅ GIT' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [GIT] clone๋ถํฐ ํด๋น ์ฒดํฌ์์๊น์ง (branch, checkout) (0) | 2022.03.15 |
|---|---|
| GIT double dash์ ์๋ฏธ: git checkout -- filename (0) | 2022.01.15 |
| GIT ์๊ฒฉ ์ ์ฅ์ ๋ช ๋ น์ด: branch, merge, checkout, push (0) | 2021.10.13 |
| [GIT] ๋ค๋ฅธ ์์ด๋ ์ฌ์ฉ์, "remote: Permission to ์๋ฌ" (์๋์ฐ) (0) | 2021.02.14 |
| [GIT] ์์ฃผ ๋ฐ์ํ๋ ERROR ๋ชจ์ (0) | 2021.01.28 |