Hello, I'm Dona!
์ ๊ฐ ๋ณด๋ ค๊ณ ๋ง๋ git ๋ช ๋ น์ด ๋ชจ์์ ๋๋ค๐
CLI ํฐ๋ฏธ๋์ ๊น๋ง ํ๋ฉด์ ์ธ์ ๋ ๋๋ฅผ ๋นํฉ์ผํ์ง๋ง, ์ ๋ ๊ตด๋ณตํ์ง ์์์๐ค
ํ์ดํ ์ ๋๋ค๐ช
* ์ด๋ฏธ์ง๋ ์ง์ ppt๋ก ์ ์ํ์์ต๋๋ค, ์ฌ์ฉํ์ค ๋๋ ์ถ์ฒ๋ฅผ ๋ฐํ์ฃผ์ธ์!
๐ Git์ ๋ญ๊ณ GitHub๋ ๋ญ์์โ
1. Git : ๋ฒ์ ๊ด๋ฆฌ(Version Control)์ ๋์ ํ์ (Cooperation)์ ํ๊ฒํด์ฃผ๋ Tool
2. GitHub : ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋์ ์ ๊ณตํด์ฃผ๋ ์๋น์ค, Git์ผ๋ก ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ๋ค์ ๋ฐฑ์ ํ ์ ์๋ ๊ณต๊ฐ
โ๏ธ ๋ฒ์ ๊ด๋ฆฌ์ ์ฅ์ โ
1. ์ง๋ ๊ณผ์ ํ์ธ ๊ฐ๋ฅ
2. ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ ์ ์์
โ๏ธ repository์ commitโ
1. commit : ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ํน์ ๋ชจ์ต์ ํ๋์ ๋ฒ์ ์ผ๋ก ๋จ๊ธฐ๋ ํ์ & ๊ฒฐ๊ณผ๋ฌผ
2. repository : ์ปค๋ฐ์ด ์ ์ฅ๋๋ ์ ์ฅ์
1. add : loca์์ ์์ ์ฌํญ โก๏ธ staging area๋ก
2. commit : staging area โก๏ธ local repository์ commit ๊ธฐ๋ก
3. reset : commit ์ทจ์ (์์ ํ๊ณ ๋ค์ ์ฌ๋ฆด ๋, ๋ค์ add โก๏ธ commitํด์ฃผ์ด์ผ ํจ)
4. push : local repository โก๏ธ remote repository(์๋ฅผ ๋ค์ด github)
5. pull : remote repository โก๏ธ local repository
* local repository(๋ก์ปฌ ์ ์ฅ์) : ํ์ฌ ๋ด๊ฐ ์์ ํ๊ณ ์๋ ๋ด PC์ ์ ์ฅ๋๋ ์ ์ฅ์
* remote repository(์๊ฒฉ ์ ์ฅ์) : ์๊ฒฉ ์๋ฒ์ ์ ์ฅ๋๊ณ ๊ด๋ฆฌ๋๋ ์ ์ฅ์
๐ git ๋ช ๋ น์ด ๋ชจ์zip in CLI
1. ํผ์ ์์
# ๊นํ ๋ ํ์งํ ๋ฆฌ๋ฅผ local๋ก ๊ฐ์ ธ์์ ์์
git clone url(๊นํ ๋ ํ์งํ ๋ฆฌ ์ฃผ์)
# ๋ ํ์งํ ๋ฆฌ์ ๋ด ๋ก์ปฌ์ ๋ณํ์ํ ์ ๋ฌด ํ์ธ
git status
# local์ ์์ ์ฌํญ -> staging area๋ก ์ฎ๊ธฐ๊ธฐ
git add -A
git add .
# staging area -> local ๋ ํ์งํ ๋ฆฌ์ ์ปค๋ฐ ๊ธฐ๋ก
git commit -m ‘message’
# [commit ์ทจ์]
# ๋ฐ๋ก ์ด์ ์ผ๋ก reset -> ์์ ํ๊ณ ๋ค์ ์ฌ๋ฆฌ๊ณ ์ถ์ผ๋ฉด, ์์ ํ staging area์ฌ๋ฆฌ๊ณ commitํด์ฃผ์ด์ผํจ
git reset HEAD^
# nํ ์ด์ ์ผ๋ก reset
git reset HEAD~n
# local ๋ ํ์งํ ๋ฆฌ -> ๊นํ๋ธ ๋ ํ์งํ ๋ฆฌ๋ก push
git push (์๊ฒฉ๋ช
) (์๊ฒฉ ๋ธ๋์น๋ช
)
# git ์ํ๋ค ํ์ธ(์ผ๋ ฌ๋ฒํธ ๋ฑ)
git log
2. ๊ฐ์ด ์์
# git ์ ์ฅ์ ์์ฑ
git init
# Remote ๋ ํ์งํ ๋ฆฌ์ ์ฐ๊ฒฐ -> pair์ remote๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ๊ฒฐ
git remote add (์๊ฒฉ๋ช
) url(Github ๋ ํฌ์งํ ๋ฆฌ ์ฃผ์)
# Remote ๋ ํ์งํ ๋ฆฌ์ commit ๋ด์ญ ์
๋ก๋
git push (์๊ฒฉ๋ช
) (์๊ฒฉ ๋ธ๋์น๋ช
)
# ์ดํ์๋ git push๋ง ์
๋ ฅํด๋ ๋จ
# Github์ ํด๋น ์ด๋ฆ์ ๋ธ๋์น๊ฐ ์์ ๋๋ ์๋ก ์์ฑ๋จ
# ๋ฆฌ๋ชจํธ ํ์ธ (v์ต์
: ๋ชฉ๋ก๊ณผ ์ฃผ์๊น์ง ํ์ธ)
git remote -v
# ๋ด commit์ pushํ๊ธฐ ์ ์ pair์ Remote๋ฅผ ๋์ local๋ก ๋ฐ์์ค๊ธฐ
git pull (์๊ฒฉ๋ช
) (์๊ฒฉ ๋ธ๋์น๋ช
)
# [์ถฉ๋ ํด๊ฒฐํ๊ธฐ : ๋ณ๊ฒฝ ์ฌํญ ๋๊ฐ ์ค์ ์ทจ์ฌ์ ํ]
console.log(‘์ ํํ ๋ณ๊ฒฝ์ฌํญ’)
# ์ถฉ๋์ด ํด๊ฒฐ๋ ํ staging area์ ์ฌ๋ผ๊ฐ ํ์ผ์ ์๋์ผ๋ก commit ๋ฉ์์ง๊ฐ ์์ฑ๋จ!
3. ๋ธ๋์น
# ๋ธ๋์น ์์ฑ
git branch (์ ๋ธ๋์น๋ช
)
# ์ ๋ธ๋์น ์์ฑ ํ ํด๋น ๋ธ๋์น๋ก ์ด๋
git checkout -b (์ ๋ธ๋์น๋ช
)
# ๋ธ๋์น ๋ชฉ๋ก ์กฐํ(a์ต์
: ์๊ฒฉ ๋ธ๋์น๋ฅผ ํฌํจํ์ฌ ์กฐํ)
git branch -a
# [๋ธ๋์น๋ณํฉ]
# ๋ธ๋์น ์ด๋
git checkout (๋ธ๋์น๋ช
)
git merge (๋ณํฉํ๋ ค๋ ๋ธ๋์น๋ช
)
# ๋ณํฉํ ์ฃผ์ฒด์ธ ๋ธ๋์น๋ก ์ด๋ํ๊ณ ๋ณํฉํด์ผํจ!
# ์์์ ์ฅ
git stash
Reference
'๐ฉ๐ปโ๐ป Programming > programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[home brew&git] Mac M1pro home brew๐บ & git ์ค์นํ๊ธฐ (0) | 2021.12.18 |
---|---|
[HTTPS]๋์นญํค์ ๋น๋์นญํค & ๊ณต๊ฐํค ์ํธํ ๋ฐฉ์ (0) | 2021.11.30 |
[TIL] API, HTTP, REST๊ฐ๋ & python์ผ๋ก ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2021.11.30 |
[๊ฐ์ํ๊ฒฝ] ๊ฐ์ํ๊ฒฝ์ด๋ & ์๋์ฝ๋ค ์ค์ต๊ณผ ๋ช ๋ น์ด ๋ชจ์๐ (0) | 2021.11.27 |
์ ๋์ค ์ปค๋งจ๋ ๋ผ์ธ ์์๋ณด๊ธฐ๐ (0) | 2021.11.16 |