1. ๋ฆฌ๋ ์ค ํ์ ๋ช ๋ น์ด
@ ๋ฆฌ๋
์ค ๋๋ ํ ๋ฆฌ ์ด๋ ๋ช
๋ น์ด
1. pwd (print working directory)
- ํ์ฌ ์์
ํ๊ณ ์๋ ํด๋์ ๋๋ ํ ๋ฆฌ ์ฆ, ํ์ฌ์ ๊ฒฝ๋ก์ ์์น๋ฅผ ๋ณด์ฌ ์ฃผ๋ ๋ช
๋ น์ด
2. ls (list)
- ํ์ฌ ์๋ ์์น์ ํด๋๋ด๋ถ์ ํด๋๋ ํ์ผ๋ค์ ๋ด์ญ์ ๋ณด์ฌ์ฃผ๋ ๋ช
๋ น์ด
3. ls -a (list all)
- ํ์ฌ ์๋ ์์น ํด๋ ๋ฐ ํ์ผ ๊ทธ๋ฆฌ๊ณ ์จ๊ฒจ์ง ํ์ผ๋ค ๊น์ง ๋ชจ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ช
๋ น์ด
4. cd ํด๋๋ช
(change directory)
- ls ๋ช
๋ น์ด์์ ํ์ธ๋ ํด๋๋ค์ ์ด๋์ ํด์ฃผ๋ ๋ช
๋ น( ์ฆ, ํ์ฌ ์์น๋ฅผ ๋ณ๊ฒฝ ํด์ฃผ๋ ๋ช
๋ น์ด)
- cd .. ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ ๋จ๊ณ ์ ์ฆ, ์์ ๋ถ๋ชจ ํด๋๋ก ๋๋ ํ ๋ฆฌ ์์น๋ฅผ ๋ณ๊ฒฝ ํด์ฃผ๊ฒ ๋ค๋ ๋ช
๋ น์ด
- cd์ ๋๋ ํ ๋ฆฌ ์ด๋์ ๋ถ๋ชจ ํด๋๋ก ์ง์ ์ ๊ทผ์ ๋ถ๊ฐํ๋ฉฐ ..์ ํตํด ์ฌ๋ผ๊ฐ์ผ ํ๋ค.
- "/"๋ฅผ ํตํด ๋๋ ํ ๋ฆฌ์ ์์น๋ฅผ ํ๋ฒ์ ๋ณ๊ฒฝ์์ผ ์ด๋ ํ ์ ์๋ค. ex) cd Desktop/junbin
5. mkdir ํด๋๋ช
(make directory)
- ํ์ฌ ๊ฒฝ๋ก์์ ํด๋๋ฅผ ์์ฑํด์ฃผ๋ ๋ช
๋ น์ด
6. touch ํ์ผ๋ช
- ํ์ฌ ๊ฒฝ๋ก์์ ํ์ผ์ ์์ฑํ๋ ๋ช
๋ น์ด
- ์ฐธ๊ณ : ์ ํํ๋ ๊ฒฝ๋ก์ ํ์ผ๋ช
์ด ์์ผ๋ฉด ํ์ผ์ ์์ฑ๊ณผ ํ์ผ์ ๋ ์ง, ์๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ช
๋ น์ด
2. Git
git์ด๋ ์ฝ๋ ๋ณ๊ฒฝ์ ๊ธฐ๋ก์ ํ๋ฉฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ๋๊ตฌ์ด๋ค.
์ฆ, git์ ์์ ๋ ํ์ผ์ ๋ณ๊ฒฝ์ ๊ธฐ๋กํ์ฌ ๊ด๋ฆฌ ํจ์ผ๋ก์จ ์์ ๋๊ธฐ์ ํ์ผ๋ก ๋์๊ฐ ์ ์๊ฒ ํด์ค๋ค.
( ์์ ๋๊ธฐ์ ํ์ผ๋ก ๋์๊ฐ๋ ์ด์ ๋ ๋ง๋ค๋ค๊ฐ ์๋ฌ ๋ฑ๋ฑ์ ๋ฌธ์ ๋ ์ด์ ๋ฒ์ ์ ํ์๋ก ํ ๋ ๋์๊ฐ๋ค. )
3. Git-hub
- Git-hub๋ ๋ฐฑ์ ๊ณผ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ (์จ๋ผ์ธ ์ฝ๋ ์ ์ฅ์)์ด๋ค.
# Git-hub๋ฅผ ์ฌ์ฉํ๋ ์ด์
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ์ฌ๋ฌ๊ฐ์ง ์ด์ ๋ก ํ์ผ์ด๋ ํด๋๊ฐ ๋ก์ปฌPC์์ ๋ ๋ผ๊ฐ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ๊ธฐ ์ํจ์ด๋ค.
์จ๋ผ์ธ ์๋ฒ์ ์ฝ๋๋ฅผ ์ฌ๋ ค๋ ์ผ๋ก์จ ๋ดPC์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ผ๋ ๋ค๋ฅธ PC๋ฅผ ์ด์ฉํด ๋ฐฑ์
์ ํ ์ ์๋ค.
๋ํ ์จ๋ผ์ธ ์
๋ก๋๋ฅผ ํตํด ํด๋น ํ๋ก์ ํธ๋ฅผ ๋ค๋ฅธ ์ฌ๋๊ณผ ๊ณต์ ๊ฐ ๊ฐ๋ฅํด์ง๋ฉฐ ์ด๊ฒ์ ํ์
์ผ๋ก๋ ์ด์ด์ง๋ค.
์ ๋ฆฌ
Git-Hub๋ Git์ผ๋ก ๊ด๋ฆฌํ๋ ๋ชจ๋ ํ๋ก์ ํธ๋ค์ ์จ๋ผ์ธ ๊ณต๊ฐ์ ๊ณต์ ํด์ ํ๋ก์ ํธ์ ๊ตฌ์ฑ์๋ค์ด ํจ๊ป ์ํํธ์จ์ด
๋ง๋ค์ด ๋๊ฐ ์ ์๊ฒ ๋์์ฃผ๋ ํ์
์๋น์ค ์ด๋ค.
Git ๋ช ๋ น์ด
1. ์ฝ๋ ๊ด๋ฆฌ๋ฅผ ์์ํ๋ ๋ช
๋ น์ด
git init ( initialize : ์ด๊ธฐํํ๋ค, ์ด๊ธฐ ์ธํ
ํ๋ค)
- ์๋ก์ด ํ๋ก์ ํธ ์งํ ์ Git์ด ํด๋น ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌ ํ ์ ์๊ฒ ์ด๊ธฐ์ ์ธํ
์ ํด์ฃผ๋ ์์
์ด๋ค.
- ๋ช
๋ น์ด๋ฅผ ์
๋ ฅ ์ ํด๋น ๋๋ ํ ๋ฆฌ์ .git ์จ๊ฒจ์ง ํด๋๊ฐ ์์ฑ์ด ๋๋ค. ( ์ด ํด๋๊ฐ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค.)
- .git ํด๋๊ฐ ์์ฑ๋๋ ์๊ฐ ๋ถํฐ ์ฝ๋ ๋ณ๊ฒฝ์ด ์ด๋ค์ง๋ฉด git์์ ์ถ์ ์ ํจ.
2. ์ฝ๋๋ฅผ ์ ์ฅํ๋ ๋ช
๋ น์ด
git add ํ์ผ๋ช
(ํด๋น ํ์ผ๋ง ์ง์ ) / git add . (์ ์ฒด ํ์ผ ์ง์ )
- ์ ์ฅํ๊ธฐ ์ ์ ์ฅํ ํ์ผ ์ง์ ํด์ฃผ๋ ๋ช
๋ น์ด
git commit -m "๊ธฐ๋ก ๊ด๋ จํ (๋ฉ์์ง ์์ฑ)"
- ์ค์ ๋ก ์ ์ฅํ๋ ๋ช
๋ น์ด
3. ์ ์ฅ ์ฌ๋ถ ํ์ธํ๋ ๋ช
๋ น์ด
git status
- ์ด๋ค ํ์ผ์ด ๋ณ๊ฒฝ๋๋์ง, ์ด๋ค ํ์ผ์ด add(์ง์ )๋๋์ง ๋ฑ์ ์ฌ๋ถ๋ฅผ ์ฆ, ๋ณ๊ฒฝ ์ํ๋ฅผ ํ์ธํ๋ ๋ช
๋ น์ด์ด๋ค.
4. ์ ์ฅ ๋ด์ญ์ ํ์ธํ๋ ๋ช
๋ น์ด
git log
- ๊ธฐ์กด์ ์ปค๋ฐ ๋ฉ์์ง ๋ฐ ํด๋น ์ปค๋ฐ์ ๊ด๋ จํ ๋ก๊ทธ๋ค์ ๋ณด์ฌ์ฃผ๋ ๋ช
๋ น์ด์ด๋ค. ( ๋ณ๊ฒฝ์ ์ถ์ธก ๊ฐ๋ฅ )
Git ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ Git-Hub ์ฌ์ฉ
1. ์ ์ฅ ๋ด์ญ์ Git-Hub์ ๋ฐ์ํ๊ธฐ
git push origin ๋ธ๋์น๋ช
- Git-Hub์ ๋ก์ปฌPC์์ add/commitํ ํ๋ก์ ํธ ํด๋๋ฅผ Git-Hub์ pushํด์ฃผ๋ ๋ช
๋ น์ด์ด๋ค.
- git push -u origin main ๋ช
๋ น์ด๋ฅผ ์ํํ๊ธฐ์ git push๋ง ์ด์ฉํด์ ๊นํ๋ธ์ pushํ ์ ์๋ค.
#git remote add origin git์ฃผ์
#origin ์ git์ฃผ์๋ฅผ ๋ฃ์ด์ค๋ค.
#์๋๋ git push git์ฃผ์ ๋ธ๋์น๋ช
์ ํตํด push๋ฅผ ์งํํ์๋ค.
#๊ทธ๋ฐ๋ฐ origin์ git์ฃผ์๋ฅผ ๋ฃ์ด์ค์ผ๋ก์จ ๋ณ์์ฒ๋ผ origin์ผ๋ก ๋์ฒด๊ฐ ๊ฐ๋ฅํ๋ค.
#git branch -M main
#๊ท์ ์ ์ด๋ฆ์ ๋ฌธ์ ๋๋ฌธ์ main์ผ๋ก ๋ฐ๊ฟ์ ์ฌ์ฉํจ. ( ๊ตณ์ด ์๋ฐ๊ฟ๋ ๋๋๋ฐ ๋ฐ๊พธ๋๊ฒ ์ข์ )
#git push -u origin main
#-> git push origin main์ ์ด ๋ช
๋ น์ด๋ฅผ ํตํด git push๋ก ๋์ฒดํด์ค.
2. ํ์
์ ํ๋ก์ ํธ ์ฝ๋ ๋ฐ์์ค๊ธฐ
git clone ๊นํ๋ธ์ฃผ์ . (.์ ๋ถํ๋ ์ด์ ๋ ๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก ๋ถํ๋ค.)
- ํ๋ก์ ํธ ์ด๊ธฐ์ GitHub์์ ์ฝ๋๋ฅผ ๋ณต์ฌํด์ ๊ฐ์ง๊ณ ์์ฃผ๋ ๋ช
๋ น์ด ์ด๋ค.
- . ์ ์์ ์ผ๋ฉด ํ๋ก์ ํธ ํด๋ ์์ ๋ถ๋ชจํด๋๋ฅผ ๋ง๋ค์ด์ ๊ฐ์ง๊ณ ์์ง๋ค.
3. ๋ค๋ฅธ ์ฌ๋์ด ๋ณ๊ฒฝํ ์ฝ๋ ๋ด ์ฝ๋์๋ ๊ฐ์ ธ์ค๊ธฐ
git pull origin ๋ธ๋์น๋ช
( git pull๋ ๊ฐ๋ฅ )
- ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ํด๋๋ ํ์ผ์ ์์ ํ์ ๊ฒฝ์ฐ ๋ด๊ฐ push๋ฅผ ํ๋ฉด ๋ฎ์ด์์์ง๋ค. ํ์ง๋ง github๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ
๋ง์๋๊ธฐ ๋๋ฌธ์ push๋ฅผ ํ๋ ค๋ฉด ๋ค๋ฅธ ์ฌ๋์ด ์์ ํ ํ์ผ์ด๋ ํด๋๋ฅผ ๋จผ์ ๊ฐ์ง๊ณ ์ค๊ณ ๊ทธ ๋ค์ push๋ฅผ ํ๊ฒ๋๋ค.
์ด๋ ๊ฒ ๊ฐ์ง๊ณ ์์ฃผ๋ ๋ช
๋ น์ด๋ git pull์ด๋ค.
github
workspace๋ฅผ hub์ ๋ง๋ค๋ค!
๊ณต์ฉ์์
๊ณต๊ฐ
gitignore
- ์ฌ๋ฆฌ๊ณ ์ถ์ง ์์ ํ์ผ๋ค์ ์ง์ ํ ์ ์์.(๊ณต์ ๋์ง ์์์ผ๋ฉด ํ๋ ํ์ผ)
(targetํ์ผ์ ๊ณต์ ๊ฐ ๋๋ฉด ์๋๊ธฐ์ preferences์ team์ ignore Resources์ */target/*๋ฅผ ์ถ๊ฐํด์ค.)
์ด์ ๋ ๋ด๊ฐ ์์
ํ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด ๊ณณ์ ๋ค์ด๊ฐ๊ธฐ๋๋ฌธ์ ๊ณต์ ๊ฐ ๋๋ฉด ์๋จ.
๋ก์ปฌ์ ์ฅ์ : ๋ด๊ฐ ๋ง๋ git-workspace๊ฐ ๋ก์ปฌ ์ ์ฅ์๊ฐ ๋๋ค.
์๊ฒฉ์ ์ฅ์ : github์ฌ์ดํธ์ repository๊ฐ ์๊ฒฉ ์ ์ฅ์๊ฐ ๋จ.
Clone์ ํตํด ๊นํ๋ธ์ ๋ง๋ค์ด๋ repository์ ์ ๋ณด๋ฅผ ๋ก์ปฌ์ ์ฅ์์ ๋ง๋ค์์๋ค?
์ฌ๋งํ๋ฉด ์ ์ฅ์์ ์ด๋ฆ์ ์ง์ฐ๋๊ฒ ์ข์.
๊นํ๋ธ ์ ์ฅ์์ ๋์ ํ๋ก์ ํธ ๋ก์ปฌ์ ์ฅ์๋ฅผ ์ฐ๋์ ํด์ฃผ๋ ์์
์.
์ด ์์
์ ํตํด ๋ด๊ฐ ์์
ํ ํ๋ก์ ํธ๋ฅผ ๊ณต์ ๋ฅผ ํ ์ ์๊ฒ๋จ.
๋ก์ปฌ์์ ๋ณ๊ฒฝ๋ ์ฌํญ์ ์๊ฒฉ์ ์ฅ์์ push๋ฅผ ํตํด ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํจ.
๊ณต์ ๊ฐ ๋๋ฉด ์๋๋ ํ์ผ
.metadata
.class
/target
Servers
Git-hub
Git์ VCS์ ํ๋ก๊ทธ๋จ์ค ํ๋์. Version Control System( ํ๋ก๊ทธ๋จ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ํด )
ํ์๋ผ์ธ์ ํน์ ์๊ฐ๋ ๋ฐ ๋ฒ์ ์ ๊ด๋ฆฌ ๋ฐ ์ด๋์ด ๊ฐ๋ฅํ๋ค.
git status => ๊น์ ํ์ฌ ์ํ๋ฅผ ์๋ ค์ค
git add . => ๋ด๊ฐ ์ง์ ํ gitํ์ผ์ ์์ ๋ ์ํ๋ฅผ ์บก์์ ๋ด์์ค
git commit -m "" => ์ ์ฒด ์ปค๋ฐ์ ํด์ค
git log => git์ commit ์ฌ๋ถ๋ฅผ ํ์ธ์์ผ์ค.
git ๋๋ฆฌ๊ธฐ
git reset --hard ์ปค๋ฐ๋ก๊ทธ ( ์ปค๋ฐ ๋ก๊ทธ๋ git log ๋ฅผ ํตํด ์ ์ ์์)
git branch ํ์ฌ ์์นํ ๋ธ๋์น ๋ฐ ๋ธ๋์น ๊ฐฏ์ ๋ฑ๋ฑ ์ ๋ณด ์๋ ค์ค
git switch ๋ธ๋์น๋ช
: ํ์ฌ ์์นํ ๋ธ๋์น ๋ณ๊ฒฝ
git branch ์ด๋ฆ : ๋ธ๋์น ์ถ๊ฐ
git branch -d ์ด๋ฆ : ๋ธ๋์น ์ญ์
git branch -D ์ด๋ฆ : ์ปค๋ฐ๋ ๊ฐ๋ค์ด ์กด์ฌํ๋ ๋ธ๋์น ์ญ์
git barnch
Merge => Branch๋ฅผ ๋ณํฉ ํด์ฃผ๋ ๊ณผ์ ์์ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ๋๋( ์ด์ด ๋ถํ ์ฐ๊ฒฐํ๋ ๋๋ )
Rebase => Branch๋ฅผ ์์ ๋ณํฉ์ ํด์ฃผ๋ฏ๋ก ์ ์ ๋ก๊ทธ๋ฅผ ์์ฐ( ์ด์ด ๋ถํ๋ฉฐ ์์ ํ ๋ณํฉ )
์ฌ๊ธฐ์ ์ ๊น ์์๋ณด๋ฉด ์ข์ ๊ฒ.
Working directory - ์ฒ์ ์์ ํ๋ฉด ์ฌ๊ธฐ์ ์กด์ฌ
Staging area - add๋ฅผ ํ๋ฉด ์ฌ๊ธฐ์ ์ฌ๋ผ์ด
Repository - commit์ ํ๋ฉด ์ฌ๊ธฐ์ ์ฌ๋ผ์ด
์ด๊ฑด ๊ตฌ๊ธ์์ ๋ฐ๋ก ๊ณต๋ถํ๋ฉด ์ข์๋ฏ.