์๊ฒฉ์ ์ฅ์ : ๊ทธ์ ๋ ๋ค๋ฅธ Repository (์ ์ฅ์ )
ํ์ : Repository๋ผ๋ฆฌ์ ์ํธ์์ฉ
โ ์๊ฒฉ์ ์ฅ์(Github)๋ฅผ ํตํด ํ์ ํ๊ธฐ
Repository๋ผ๋ฆฌ์ ์ํธ์์ฉ ์ข ๋ฅ
- ์๊ฒฉ์ ์ฅ์ ์กฐํ(์ถ๊ฐ) : git remote
- ์๊ฒฉ์ ์ฅ์ ๋ฐ์ด๋ฃ๊ธฐ : git push
- ์๊ฒฉ์ ์ฅ์ ๊ฐ๊ณ ์์ ํฉ์น๊ธฐ : git pull
- ์๊ฒฉ์ ์ฅ์ ์ผ๋จ ๊ฐ๊ณ ๋ง ์ค๊ธฐ : git fetch
- ์๊ฒฉ์ ์ฅ์ ๋ณต์ฌ : git clone
โ git remote (-v)
v์ต์ : ๋จ์ถ์ด๋ฆ๊ณผ URL๊ฐ์ด ๋ณด๊ธฐ
๋ด ๋ก์ปฌ Repository์ ์ํธ์์ฉํ๊ณ ์๋( ํน์ ์ ์ ์๋ ) ์๊ฒฉ์ ์ฅ์๋ค์ ๋ชฉ๋ก์ ์กฐํ
๐ git remote add origin <url> : ์๊ฒฉ์ ์ฅ์ ์กฐํ(์ถ๊ฐ)ํ๊ธฐ
url์ ์๋ ์๊ฒฉ์ ์ฅ์๋ฅผ origin์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ถ๊ฐํ๋ ๊ฒ์ด๋ค.
์ฆ, git remote add <๋จ์ถ์ด๋ฆ> <url>
๊ธฐ์กด ์ํน ๋๋ ํ ๋ฆฌ์ ์ ์๊ฒฉ์ ์ฅ์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
ex. git remote add prac1 <url> : "๋จ์ถ์ด๋ฆ์ prac1์ด๋ผ๊ณ ๋ถ๋ฅผ๊ฑฐ๊ณ url์ ์ด๊ฑฐ์ผ"
๐ git remote rm prac2 : ๋จ์ถ์ด๋ฆ์ด prac2์ธ remote ์ ๊ฑฐํ๊ธฐ
โ git push
๐ git push -u origin main : ์๊ฒฉ์ ์ฅ์์ ๋ฐ์ด๋ฃ๊ธฐ
u์ต์ : ๋ํดํธ ์ค์
๋ด Repository์ main๋ธ๋์น๋ฅผ origin์ main๋ธ๋์น๋ก pushํ๋ผ๋ ๊ฒ
์ดํ, ํ์ผ(์ฝ๋)๋ฅผ ์์ ํ๊ณ ์ ์ฅํ๊ณ ๋์ commit/push ํ๋ ค๋ฉด ๊ฐ๋จํด์ง๋ค.
git commit -am "second commit"
git push
ํ๋ฉด ์๋ฃ๋๋ค.
โ git pull
๐ git pull ( origin main ) : ์๊ฒฉ์ ์ฅ์ ๊ฐ๊ณ ์์ ํฉ์น๊ธฐ
origin์ ๋ด Repository์ main๋ธ๋์น๋ก ๊ฐ๊ณ ์๋ผ ( merge ! )
๐ก ์๊ฒฉ์ ์ฅ์์ ๋ด์ฉ์ ๋ด ๋ก์ปฌ์ ์ฅ์์ ๋ด์ฉ์ผ๋ก ๋ฎ์ด์์ธ ๋ (ํน์ ๋๊ธฐํ) ์ฌ์ฉํ๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ํ์ฌ ์์ ์ด ์ฌ๋ผ์ง๋๋ฐ, ์ฌ๋ผ์ง๊ฒ ํ๊ณ ์ถ์ง ์์ผ๋ฉด pull์ด ์๋ fetch๋ฅผ ์ฌ์ฉํ๋๊ฒ
remote-practice1์ ์๋ ํ์ผ์ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด ?
์๋ก์ด ํด๋์์
git init
git remote add origin <remote-practice1์ url>
์ดํ
git pull origin main : "origin์ ์๋ ๋ด์ฉ์ ์ฌ๊ธฐ์๋ main๋ธ๋์น๋ก ๊ฐ์ ธ์ฌ๊ฑฐ์ผ " -> ๋๊ธฐํ ( ์๊ฒฉ์ ์ฅ์์ ์๋ ํ์ผ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ด )
โ git fetch
๐ git fetch (origin main) : ์๊ฒฉ์ ์ฅ์ ์ผ๋จ ๊ฐ์ ธ์ค๊ธฐ๋ง ํ๋ ๊ฒ
๋๊ธฐํ์ํค์ง๋ ๋ง๊ณ (=mergeํ์ง๋ง๊ณ ) origin์ ๋ด Repository์ main๋ธ๋์น๋ก ์ผ๋จ ๊ฐ๊ณ ์๋ผ
๋ง์ฝ, ์๊ฒฉ์ ์ฅ์(Github)์์ฒด์์ ์ฝ๋๋ฅผ ์์ ํ๋ค๋ ๊ฐ์ ์ ํ๋ค.
// 22Line : Fetch ๊ฐ ์ถ๊ฐ๋จ
๊ทธ๋ฌ๋ฉด ์๊ฒฉ์ ์ฅ์์ ํ์ฌ ๋ด Local์ ์ฅ์์ ํ์ผ์ด ๋ค๋ฅธ๋ฐ ์ด ๋ Fetch๋ก ๊ฐ์ ธ์ฌ๊ฒ์ด๋ผ๋ฉด
git fetch origin
ํ๋ฉด local์ ์ฅ์์ ํ์ผ์ด ์์ ๋์ง ์๊ณ , ํ์ธ์ ํ ์ ์๋ค.
์ด๋์ ?
๋ฐ๋ก origin์ main๋ธ๋์น์์ ๋ง์ด๋ค.
๊ทธ๋ฌ๋ฉด origin์ main์ผ๋ก ์ด๋ํ๋ค.
git checkout origin/main
// 0167b0 : checkout์ ํ์ธํ ์ ์๋ ๋ธ๋์น
๊ทธ๋ผ ํด๋๋ฅผ ๋ค์ด๊ฐ์ ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด, ์ด์ ๋ ๋ฐ๊ปด์๋๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ์ธ์ดํ ๋ค์ main๋ธ๋์น๋ก ์ด๋ํ๋ค.
git checout main
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋๊ฐ์ ํ์ผ์ ์ด์ด๋ณด๋ฉด ์ถ๊ฐ๋ ๋ด์ฉ์ด ์ฌ๋ผ์ง๊ณ ์๋๋๋ก ๋์๊ฐ์๋ค.
โ git clone
git clone <url> : ์๊ฒฉ์ ์ฅ์ ๋ณต์ฌํ๊ธฐ
<url>์ ์๋ ์๊ฒฉ์ ์ฅ์ ๋ด์ฉ์ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌํด์จ๋ค.
( origin ์๋์์ฑ )
์์ ํ ํด๋(local ์ ์ฅ์)์
git init
ํ ๋ณต์ฌ๋ฅผ ํ ์๊ฒฉ์ ์ฅ์์ url์ ๊ฐ์ ธ์จ๋ค.
git clone <url>
๐ ์ถ์ฒ
https://www.inflearn.com/course/%EB%B9%A0%EB%A5%B4%EA%B2%8C-git
๋น ๋ฅด๊ฒ git - ํต์ฌ๋ง ๊ณจ๋ผ ๋ฐฐ์ฐ๋ Git/Github ๊ฐ์ - ์ธํ๋ฐ
๊ฐ๋ฐ์์๊ฒ ๋ฒ์ ๊ด๋ฆฌ๋ ์ด์ ํ์ ์ง์์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๊ธฐ์ด์ ์ธ git ๋ช ๋ น์ด์ Github ํ์๊ฐ์ ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ Git๊ณผ Github๋ฅผ ๋ฐฐ์๋ณด๋๋ก ํฉ์๋ค :), ๐๐ปโ ๋์ฒด git์ด ๋ญ๊ธธ๋ ๋๋ถ๋ถ์ ๊ฐ
www.inflearn.com
'๐ป > Git&Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git/Github] ํ์ ์๋๋ฆฌ์ค (0) | 2024.03.11 |
---|---|
[Git/Github] diff & revert (0) | 2024.03.10 |
[Git/Github] ๋ฒ์ ์ ๋๋๋ฆฌ๊ณ ๋๋๊ธฐ : reset / branch (0) | 2024.03.10 |
[Git/Github] ๋ฒ์ ๊ด๋ฆฌ ์์ : add / commit / push (0) | 2024.03.09 |