[Git] Git Bash ์ฌ์ฉ ๋ฐฉ๋ฒ - init, status, add, commit, log
Git์ ์ฌ์ฉํ๋ ค๋ฉด ์ฌ์ฉํ๋ ํ๋ซํผ์ ๋ง๋ git์ ๋ค์ด๋ก๋๋ฐ๊ณ ์ค์นํด์ผํ๋ค.
์๋์ฐ์ git์ ์ค์นํ๋ ค๋ฉด ๋ค์ ํฌ์คํธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
- ์๋์ฐ์ฉ Git ๋ค์ด๋ก๋ ๋ฐ ์ค์นํ๊ธฐ - ์ค์น ์ต์ ์ ๋ํ ์์ธํ ์ค๋ช ํฌํจ
1. Git ์ ์ฅ์ ๋ง๋ค๊ธฐ - git init
๋ค์ ์ค ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก Git ์ ์ฅ์๋ฅผ ๋ง๋ค์ ์๋ค.
- ์์ง ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ง ์๋ ๋ก์ปฌ ๋๋ ํ ๋ฆฌ ํ๋๋ฅผ ์ ํํด์ Git ์ ์ฅ์๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋ค๋ฅธ ์ด๋๊ฐ์์ Git ์ ์ฅ์๋ฅผ Clone ํ๋ ๋ฐฉ๋ฒ
์ฌ๊ธฐ์๋ ๊ธฐ์กด์ ๋ก์ปฌ ๋๋ ํ ๋ฆฌ๋ฅผ git ์ ์ฅ์๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค.
Git ์ ์ฅ์๋ก ๋ง๋ค ํด๋๋ก ์ด๋ํด์ ๋ง์ฐ์ค ์ฐ์ธก ๋ฒํผ์ ๋๋ฅด๊ณ Git Bash Here๋ฅผ ํด๋ฆญํ๋ค.
Command line์ผ๋ก git์ ์คํํ๋๋ฐ ์ฌ์ฉ๋๋ BASH ์๋ฎฌ๋ ์ด์
์ด ์คํ๋๋ค.
Git Bash Here๋ฅผ ํด๋ฆญํ ํด๋ ๊ธฐ์ค์ผ๋ก ๋๋ ํ ๋ฆฌ๊ฐ ์กํ๋ค.
์ด ๋๋ ํ ๋ฆฌ๋ฅผ git ์ ์ฅ์๋ก ๋ง๋ค๊ธฐ ์ํด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
Git ์ ์ฅ์ ๋ง๋ค๊ธฐ
$ git init
์ด ๋ช
๋ น์ .git ์ด๋ผ๋ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. .git ๋๋ ํ ๋ฆฌ์๋ ์ ์ฅ์์ ํ์ํ ๋ผ๋ ํ์ผ(Skeleton)์ด ๋ค์ด ์๋ค.
git init ๋ช ๋ น๋ง์ผ๋ก๋ ์์ง ์ด๋ค ํ์ผ๋ ๋ฒ์ ์ ๊ด๋ฆฌํ์ง ์๋๋ค.
tempFileForGit.txt๋ผ๋ ํ์ผ์ ๋ฒ์ ๊ด๋ฆฌ ํด๋ณด์.
2. Git ์ ์ฅ์์ ํ์ผ ์ถ๊ฐํ๊ธฐ - git add
Git์ด ํ์ผ์ ๊ด๋ฆฌํ๊ฒ ํ๋ ค๋ฉด ์ ์ฅ์์ ํ์ผ์ ์ถ๊ฐํ๊ณ ์ปค๋ฐํด์ผ ํ๋ค. git add ๋ช ๋ น์ผ๋ก ํ์ผ์ ์ถ๊ฐํ๋ค.
git ์ ์ฅ์์ ํ์ผ ์ถ๊ฐํ๊ธฐ
$ git add ํ์ผ๋ช
๋ช ๋ น ํ๋กฌํํธ์ git add tempFileForGit.txt์ ์ ๋ ฅํ์.
Git ์ ์ฅ์ ์ํ ํ์ธ
$ git status
git status๋ ์ ์ฅ์ ์ํ๋ฅผ ํ์ธํ ์ ์๋ ๋ช ๋ น์ด์ด๋ค.
git add๋ฅผ ํตํด tracking(์ถ์ )์ด ์์๋ ํ์ผ ๋ชฉ๋ก์ ํ์ธํ ์ ์๋ค.
git add ๋ช ๋ น์ด๋ก ์ถ๊ฐํ tempFileForGit.txt์ด ์ด๋ก์์ผ๋ก ์ถ๋ ฅ๋์๋ค.
3. ์ฌ์ฉ์ ์ค์
Git์ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ผ๋ฉด commit ๋ช ๋ น์ด๋ก ์ค์ ๋ฒ์ ์ ๋ง๋ค๊ธฐ ์ ์ ์ฌ์ฉ์๋ฅผ ์ค์ ํด์ผํ๋ค.
Git ์ฌ์ฉ์ ์ค์
$ git config --global user.name ์ฌ์ฉ์์ด๋ฆ
$ git config --global user.email ์ด๋ฉ์ผ
์ฌ์ฉ์ ์ค์ ํ ์์ฑํ ๋ฒ์ ์ ์ค์ ๋ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ ํฌํจํ๊ฒ ๋์ด ๋๊ฐ ํด๋น ๋ฒ์ ์ ์์ ํ๋์ง ์ ์ ์๋๋ก ํ๋ค.
4. Commit
git add ๋ช ๋ น์ด๋ก ์ถ๊ฐํ ํ์ผ๋ค์ ์ต์ข ์ ์ผ๋ก commitํ๋ค.
$ git commit
git commit ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด git ์ค์น ์ ์ค์ ํ ํ ์คํธ ์๋ํฐ๊ฐ ์คํ๋๋ค.
๋๋ ๋ณ๋์ ์๋ํฐ๋ฅผ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ํด๋น ์๋ํฐ๊ฐ ์ด๋ ธ์ง๋ง ๊ธฐ๋ณธ ์๋ํฐ๋ vim์ด๋ค.
#๋ก ์์ํ๋ ๋ผ์ธ์ ์ฃผ์์ด๋ค.
๋งจ ์์ commit message๋ฅผ ์ ์ด์ค๋ค ์ ์ฅํ๊ณ ์๋ํฐ๋ฅผ ์ข ๋ฃํ๋ค.
Commit์ด ์๋ฃ๋๊ณ ๊ฒฐ๊ณผ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋๋ค.
ํ์ฌ commitํ ๋ฒ์ ์ด ์ ๋ง๋ค์ด์ก๋์ง ๋ณ๋์ ๋ช ๋ น์ด๋ก ํ์ธํด๋ณด์.
Git ๋ฒ์ ๊ด๋ฆฌ ์ด๋ ฅ ํ์ธ
$ git log
git log ๋ช ๋ น์ผ๋ก ๋๊ฐ, ์ธ์ , ์ด๋ค commit message๋ฅผ ์ ๋ ฅํด์ ๋ฒ์ ์ ๋ง๋ค์๋์ง ํ์ธํ ์ ์๋ค.
๋๊ธ