[Git] ๊น(Git)์ ํ์ฉํ ํ๋ก์ ํธ ๊ด๋ฆฌ
์๋ณธ ๊ฒ์๊ธ: https://velog.io/@euisuk-chung/2.-๊นGit์-ํ์ฉํ-ํ๋ก์ ํธ-๊ด๋ฆฌ
๊น(Git)์ ํ์ฉํ ํ๋ก์ ํธ ๊ด๋ฆฌ
๊น(Git)์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก, ๋ค์ํ ํ๋ก์ ํธ์์ ์์ค์ฝ๋์ ๋ฌธ์๋ฅผ ๊ด๋ฆฌํ๊ณ ํ์ ์ ํ ๋ ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊น์ ํ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
๊น์ ์ฌ์ฉ๋ฒ
1. Repository(์ ์ฅ์) ์์ฑ
ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด์๋ ๋จผ์ ๊น ์ ์ฅ์๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ๊น ์ ์ฅ์๋ ๋ก์ปฌ ์ ์ฅ์์ ์๊ฒฉ ์ ์ฅ์๋ก ๋๋๋ฉฐ, ๋ก์ปฌ ์ ์ฅ์๋ ๊ฐ๋ฐ์์ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ ์ ์ฅ์์ด๋ฉฐ, ์๊ฒฉ ์ ์ฅ์๋ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ํ ๋ ์ฌ์ฉ๋๋ ์ ์ฅ์์ ๋๋ค.
1
2
$ git init # ๋ก์ปฌ ์ ์ฅ์ ์์ฑ
$ git remote add origin [์๊ฒฉ ์ ์ฅ์ URL] # ์๊ฒฉ ์ ์ฅ์์ ๋ก์ปฌ ์ ์ฅ์ ์ฐ๊ฒฐ
2. Branch(๋ธ๋์น) ๊ด๋ฆฌ
๊น์ ๋ธ๋์น ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ, ๋ ๋ฆฝ์ ์ธ ์์ ๋ผ์ธ์์ ์์ ์ ํ ์ ์์ต๋๋ค. ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ๋ ๋ฒ๊ทธ ์์ ๋ฑ์ ์ํด ๋ ๋ฆฝ์ ์ธ ๋ธ๋์น๋ฅผ ์์ฑํ์ฌ ์์ ํ๋ฉด, ๋ค๋ฅธ ์์ ๋ผ์ธ์์์ ์ํฅ์ ์ต์ํํ ์ ์์ต๋๋ค. ์ด์ ๋ํด์ ๋ ๊ถ๊ธํ์ ๋ถ์ 4. ๊น(Git) Branch์ ๋ํ ์ดํด์ ํ์ฉ์์ ์ข ๋ ์์ธํ ๋ด์ฉ์ ํ์ธํด ๋ณด์ค ์ ์์ต๋๋ค.
1
2
$ git branch [๋ธ๋์น ์ด๋ฆ] # ๋ธ๋์น ์์ฑ
$ git checkout [๋ธ๋์น ์ด๋ฆ] # ๋ธ๋์น๋ก ์ด๋
3. Commit(์ปค๋ฐ) ๊ด๋ฆฌ
๋ณ๊ฒฝ ๋ด์ญ์ ์ ์ฅ์์ ๊ธฐ๋กํ๋ ์์ ์ ์ปค๋ฐ์ด๋ผ๊ณ ํฉ๋๋ค. ๊ฐ๊ฐ์ ์ปค๋ฐ์ ๊ณ ์ ํ ํด์๊ฐ์ ๊ฐ์ง๋ฉฐ, ๋ณ๊ฒฝ ๋ด์ญ์ ์ด๋ ฅ์ ์ถ์ ํ ์ ์์ต๋๋ค.
1
2
$ git add [๋ณ๊ฒฝ๋ ํ์ผ] # ํ์ผ ์ถ๊ฐ
$ git commit -m "[์ปค๋ฐ ๋ฉ์์ง]" # ์ปค๋ฐ ์์ฑ
4. ํ๋ก์ ํธ ์ด๋ ฅ ์ถ์ ๋ฐ ๊ด๋ฆฌ
๊น์ ํ์ฉํ๋ฉด ํ๋ก์ ํธ์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ๋ ๋ฑ ๋ค์ํ ์์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
1
2
3
$ git log # ์ปค๋ฐ ์ด๋ ฅ ํ์ธ
$ git diff [์ปค๋ฐ ํด์] [์ปค๋ฐ ํด์] # ์ปค๋ฐ ๊ฐ ์ฐจ์ด์ ํ์ธ
$ git reset --hard [์ปค๋ฐ ํด์] # ํน์ ์ปค๋ฐ์ผ๋ก ์ด๋