๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
Git๊ณผ Github
- Git์ด๋?
- Git๊ณผ Github์ ํ์์ฑ
- ๊ธฐ๋ณธ Bash ๋ช ๋ น์ด
1. Git์ด๋?
๋ฆฌ๋ ์ค ์ปค๋์ ๊ฐ๋ฐํ Linus Torvalds๊ฐ ๋ง๋ ์์ค์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค.
Git ํด๋ผ์ด์ธํธ๋ฅผ ์ค์นํ๋ฉด ๋ด ์ปดํจํฐ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ ์ ์๋ค.
1.1 ์์ค์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ
์์ค์ฝ๋๋ฅผ ๋ฒ์ ๋ณ๋ก ๋ฐ๋ก ์ ์ฅํ์ฌ ๋ฒ์ ๋ณ ์ฐจ์ด ๋น๊ต, ๋ถ์์ ์ฉ์ดํ๋ค. ์ํ๋ ๋ฒ์ ์ผ๋ก ์ด๋์ด ๊ฐ๋ฅํ๋ฉฐ ์ฌ๋ฌ ๋ฒ์ ์ ๋์์ ๊ฐ๋ฐํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ ์ ์ ์ฉํ๋ค.
๋ฒ์ ๊ด๋ฆฌ
์คํ ๋ฆฌ ๊ฒ์ ์ ์ค๊ฐ ์ค๊ฐ ์ง๊ธ๊น์ง์ ๊ฒ์ ๊ธฐ๋ก์ ์ ์ฅํ๋ ๊ฒ์ ๋ฒ์ ๊ด๋ฆฌ๋ผ๊ณ ๋ณผ ์ ์๋ค. (Day 1, Day 2, ...)
๋ฒ์ ๊ด๋ฆฌ Version Control
ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋, ๋ฌธ์, ๊ทธ๋ํฝ ๋ฐ ๊ด๋ จ ํ์ผ๋ค์ ๋๋จ์ ์ํํธ์จ์ด๋ก ๊ด๋ฆฌํ๋ ๊ฒ. ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ ํด๋น ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ ๋ฐ ๊ฐ๋ฐ์๋ค์ด ํ๋ก๊ทธ๋จ์ ๊ฐ์ ํ ์ฌํญ๋ค์ ์ถ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
(ํ๊ตญ์ ๋ณดํต์ ๊ธฐ์ ํํ)
์ํํธ์จ์ด์์ ๋ฒ์ ์ด๋ ๊ฐ๋ฐ ๋จ๊ณ ๋๋ ์์๋ฅผ ๋ฒํธ๋ก ํ์ํ ๊ฒ์ด๋ค. ์ํํธ์จ์ด์์ ๊ฐ๋ฐ์ด 1์ฐจ ์๋ฃ๋๋ฉด ์ํ ๋ฒ์ ์ด๋ ๋ฒ ํ ๋ฒ์ ์ ํน์ ํ ์ฌ์ฉ์๋ค์๊ฒ ๋จผ์ ๋ฐฐํฌํ์ฌ ๊ธฐ๋ฅ๊ณผ ์ค๋ฅ๋ฅผ ๊ฒ์ฆํ๊ฒ ํ ํ, ๊ธฐ๋ฅ์ด ํ์ ๋์ด ๊ฐ๋ฐ์ด ์๋ฃ๋๋ฉด ๋ฒ์ 1.0(V1.0)์ผ๋ก ๋ด๋๋๋ค. ์ดํ ๊ธฐ๋ฅ์ ๊ฐ์ ํ์ฌ ๋ฐํํ ๋๋ง๋ค 1.1, 1.2, ···, 2.0 ๋ฑ์ผ๋ก ๋ฒ์ ์ ์ํ์ ํ์ํ๋ค.
๋ฒ์ ๊ด๋ฆฌ์ ํ์์ฑ์ "์๋ก ๋ค๋ฅธ ๋ฒ์ ์ ์์ ํ์ผ์ ์ด๋ค ์ฐจ์ด์ ์ด ์๋๊ฐ?"์ ๊ฐ์ ์ง๋ฌธ์ ๋ฐ๋ก ๋๋ตํ ์ ์๋๋ก ๊ฐ ๋ฒ์ ์ ์ ๋ณด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์คํํ์ฌ ์ธ์ ๋ผ๋ ๊ณผ๊ฑฐ์ ๋ฆด๋ฆฌ์ค๋ ํ์ผ์ ๊ฐ์ง๊ณ ์์ ํ ์ ์๋๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์๋ค. ์ฆ ํ์ผ์ ์ด๋ ฅ์ด๋ ์ฐจ์ด์ ์ ๊ด๋ฆฌํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ์ ๊ณผ ๊ฐ ์์ ํ์ผ์ด๋ ๋ฌธ์๋ฅผ ์ ์ฉํ๊ฒ ํ์ฉํ๊ธฐ ์ํจ์ด๋ค.
์ด์ ํ์ผ๋ค์ ๋ฒ๋ฆฌ์ง ์๊ณ ๋ณด๊ดํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ๋ฌธ์ ๋ด์ฉ์ ์์ ํ๋ค๋ณด๋ฉด, ์ ์๋ ํ์ ์์ ๊ฒ ๊ฐ์ ์ญ์ ํ ๊ทธ๋ฆผ์ด๋ ๋ด์ฉ๋ค์ ๋ณต์ํด ์ฌ์ฉํ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๊ตฌ ์ฌํญ์ด ์์ฃผ ๋ณ๊ฒฝ๋๋ ํ์ค์์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ ๋์ด์ผ๋ง ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์๋ค.
(์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ํํธ์จ์ด ๊ณตํ)
1.2 ์์ค์ฝ๋ ํ์๊ด๋ฆฌ ๋๊ตฌ
์์ค์ฝ๋ ํ์๊ด๋ฆฌ ๋๊ตฌ = ์์ค์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ + ์๊ฒฉํ ๊ท์น
์์ค์ฝ๋ ํ์๊ด๋ฆฌ ๋๊ตฌ๋ ์์ค์ฝ๋ ํ์๊ด๋ฆฌ ์์ ์ ๋์์ฃผ๋ ์ํํธ์จ์ด์ด๋ค.
์ํํธ์จ์ด ํ์๊ด๋ฆฌ SCM: Software Configuration Management
์์คํ ํ์ ์์์ ๊ธฐ๋ฅ์ ํน์ฑ์ด๋ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฌธ์ํํ๊ณ ๊ทธ๋ค ํน์ฑ์ ๋ณ๊ฒฝ์ ๊ด๋ฆฌํ๋ฉฐ, ๋ณ๊ฒฝ์ ๊ณผ์ ์ด๋ ์คํ ์ํฉ์ ๊ธฐ๋ก·๋ณด๊ณ ํ์ฌ ์ง์ ๋ ์๊ฑด์ด ์ถฉ์กฑ๋์๋ค๋ ์ฌ์ค์ ๊ฒ์ฆํ๋ ๊ฒ, ๋๋ ๊ทธ ๊ณผ์ . (ํ๊ตญ์ ๋ณดํต์ ๊ธฐ์ ํํ)
๋ชจ๋ ํ๋ก์ ํธ์ ๊ณตํต์ ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ์๊ฐ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ํ์ง์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด๋ค. ํ์ ๊ด๋ฆฌ๋ ์ด ๊ฐ์ ํ๋ก์ ํธ์ ๋ชฉ์ ์ ์ด๋ฃจ๊ธฐ ์ํ ํ๋์ ๋ฐฉ๋ฒ์ด๋ค. ์ฆ ํ์ ๊ด๋ฆฌ๋ฅผ ํตํด ์ธ์ ๋ผ๋ ํน์ ์๊ฐ๋์ ๊ฐ์ฅ ์์ ์ ์ธ ๋ฒ์ ์ ์ํํธ์จ์ด๋ฅผ ์ ์งํ ์ ์๋๋ก, ์ํํธ์จ์ด ์ ํ์ด ๋ณ๊ฒฝ๋์ด๊ฐ๋ ์ํ์ ๋ํ ๊ฐ์์ฑ์ ํ๋ณดํด์ค๋ค. ๋ํ ๋๊ฐ ๋ณ๊ฒฝํ๋์ง, ๋ณ๊ฒฝ๋ ๊ฒ์ ๋ฌด์์ธ์ง, ์ธ์ ๋ณ๊ฒฝ๋์๋์ง, ์ ๋ณ๊ฒฝํ๋์ง์ ๊ฐ์ ์ง๋ฌธ์ ๋๋ตํด์ค๋ค. (์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ํํธ์จ์ด ๊ณตํ)
2. Git๊ณผ Github์ ํ์์ฑ
2.1 Git์ ํ์์ฑ
- ๋ด๊ฐ ์ํ๋ ์์ ๋ง๋ค ๊น๋ฐ(tag)๋ฅผ ๊ฝ๊ณ , ์ํ ๋ ๊น๋ฐ(tag)์ด ๊ฝํ ์์ ์ผ๋ก ์ด๋ํ ์ ์๋ค.
- ์์ ๋ง๋ค ๊น๋ฐ(tag)๋ฅผ ๊ฝ์๋์๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ ์ด๋๋ก๋ ์ด๋ํ ์ ์์ผ๋ฏ๋ก, ์์ค ์ฝ๋ ์ถ๊ฐ ์ญ์ ์ ๋ถ๋ด์ด ์๋ค.
- ํด๋ผ์ฐ๋ ์๋ฒ์ ์ฌ๋ ค๋๋ค๋ฉด ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ์ ํ ์ ์๋ค.
2.2 Github์ ํ์์ฑ
- Git์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฆด ์ ์๋ ํธ์คํ ์ฌ์ดํธ.
- Github์ ์์ค์ฝ๋๋ฅผ ์ฌ๋ฆฌ๋ฉด ์๊ฐ, ๊ณต๊ฐ์ ์ ์ฝ ์์ด ํ์ ์ด ๊ฐ๋ฅํ๋ค.
- '์คํ์์ค' : ๋ฌด์์ผ๋ก ๊ณต๊ฐ๋ ์์ค์ฝ๋, ์ํํธ์จ์ด. ๋๊ตฌ๋ ์ง ๊ธฐ์ฌํ ์ ์๋ ํ๋ก์ ํธ. ๊ฐ๋ฐ์ ๊ฝ
3. ๊ธฐ๋ณธ bash ๋ช ๋ น์ด
Git์ ๋ฆฌ๋ ์ค ์์ค์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฌ๋ ์ค ์ด์์ ์ฒด์ ๋ฌธ๋ฒ(->์ ํํ ํํ์ด ์๋)์ ์ฌ์ฉํด์ผํ๋ค.
๋ช ๋ น์ด | ๋ป | ์ค๋ช |
pwd | print working directory | ํ์ฌ ๋๋ ํ ๋ฆฌ(ํด๋) ๊ฒฝ๋ก ํ์ธ |
mkdir ๋๋ ํ ๋ฆฌ๋ช | make directory | ์๋ก์ด ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑ |
cd ๋๋ ํ ๋ฆฌ๋ช | change directiry | ์ํ๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋(๋ณ๊ฒฝ) cd /c/gitTest/test/ ์๋ฏธ: test ๋๋ ํ ๋ฆฌ๋ก ์ด๋ |
cd .. | ์์ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ ..์ ๋ถ๋ชจ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. |
|
cd ~ | ํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ ~์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. |
|
rm | remove | rm ๋๋ ํ ๋ฆฌ๋ช : ์ํ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ๋ค. |
rm ํ์ผ๋ช : ์ํ๋ ํ์ผ์ ์ญ์ ํ๋ค. | ||
rm -r ๋๋ ํ ๋ฆฌ: ์ํ๋ ๋๋ ํ ๋ฆฌ์ ํ์ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ์ญ์ ํ๋ค. | ||
rm -rf ๋๋ ํ ๋ฆฌ: ์ํ๋ ๋๋ ์ด๋ฆฌ์ ํ์ ํ์ผ์ ๋ชจ๋ ์ญ์ ํ๋ค. | ||
ls -al | List | ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์จ๊ฒจ์ง ํ์ผ ๋ชฉ๋ก๊น์ง ๋ชจ๋ ์ถ๋ ฅ -a : ์จ๊ธด ๋๋ ํ ๋ฆฌ๋ฅผ ํจ๊ป ์ถ๋ ฅ -l : ๋๋ ํ ๋ฆฌ์ ์์ธ ์ ๋ณด๋ฅผ ํจ๊ป ์ถ๋ ฅ -r : ์ ๋ ฌ ์์๋ฅผ ๊ฑฐ๊พธ๋ก ์ถ๋ ฅ -t : ์์ฑ ์๊ฐ ์์ผ๋ก ์ถ๋ ฅ |
cp | copy | cp ํ์ผA ํ์ผB: A ํ์ผ์ B ํ์ผ๋ก ๋ณต์ฌํ๋ค. |
cp ํ์ผA ํด๋B: A ํ์ผ์ B ํด๋๋ก ๋ณต์ฌํ๋ค. |
๊ณต๋ถ ์๋ฃ
์๋ฒ๊ตฌ์ถ๋ฐํ์๊ด๋ฆฌ - ํ๊ต ์์
์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ํํธ์จ์ด ๊ณตํ, ํ์๊ด๋ฆฌ์ ๊ฐ๋ ๊ณผ ์ ์ฐจ
(https://terms.naver.com/entry.naver?docId=3533073&cid=58528&categoryId=58528)
์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์ํํธ์จ์ด ๊ณตํ, ๋ฒ์ ๊ด๋ฆฌ
(https://terms.naver.com/entry.naver?docId=3533072&cid=58528&categoryId=58528)
ํ์๊ด๋ฆฌ ์ฉ์ด
(https://terms.naver.com/entry.naver?docId=861725&cid=50371&categoryId=50371)
๋ฒ์ ๊ด๋ฆฌ
(https://terms.naver.com/entry.naver?docId=857977&cid=50371&categoryId=50371)
Git bash ๋ช ๋ น์ด
(https://novlog.tistory.com/m/94?category=880886)
'Git & Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Git, Github ] Git ํ์ ํ๋ก์ฐ ์ข ๋ฅ, Git-flow (0) | 2021.09.24 |
---|