[Git ์ ๋ฌธ] Git์ ๊ธฐ์ด ๊ฐ๋ -1
2022. 8. 2. 00:18
1. ๋ฒ์ ๊ด๋ฆฌ
ํ๋ก์ ํธ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ , ๊ทธ์ ๋ง๊ฒ ๊ด๋ฆฌํ๋ ์ผ
- Git์ commit์ ์ด์ฉํ์ฌ ๋ฒ์ ์ด ๋ฌ๋ผ์ง๋ ๊ฒ์ ๊ด๋ฆฌํ๋ค.
๊ธฐ์ด ์ฉ์ด
- git initialize (git ์ด๊ธฐํ) : ์ปดํจํฐ ๋ด ํ๋ก์ ํธ๋ฅผ Git์ด ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ๋ก ์ค์ ํ๊ธฐ. ์ฒ์ ํ ๋ฒ๋ง ํ๋ฉด ๋๋ค.
- commit : ํ์ฌ ํ๋ก์ ํธ์ ์ํ๋ฅผ ์ ์ฅํ๋ ๊ฒ. commit์ด ํฌํจํ๋ ์ ๋ณด๋ ๋ค์๊ณผ ๊ฐ๋ค.
- commit id : commit ์ ๊ตฌ๋ถํ๊ธฐ ์ํ ์ ์ผํ ๊ฐ.
- ์์ ์ผ์ (๋ ์ง์ ์๊ฐ)
- ์์ ํ ์ฌ๋ (์์ฑ์ author)
- ์์ ๋ด์ญ (commit ๋ฉ์์ง)
- ์์ ๋ด์ญ์ ์์ : ํด๋น commit ์ ์ง์ commit ์ด ๋ฌด์์ธ์ง ์ ๋ณด
- history : commitํ ๊ธฐ๋ก์ ๋ณผ ์ ์๋ ๊ณณ
- add (= staging) : commit์ ๋ฐ์ํ ํ์ผ์ ์ ํํ๋ ๊ฒ
2. Repository
Git์ผ๋ก ๊ด๋ฆฌ๋๋ ํ๋ก์ ํธ
Local Repository
= ๋ก์ปฌ repo
๋ด ์ปดํจํฐ์ ์ ์ฅ๋์ด ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ
- Tracking (= Branch Tracking) : ๋ก์ปฌ repo๊ฐ ์๊ฒฉ repo๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ
์๊ฒฉ Repository
= ์๊ฒฉ repo
Github์ฒ๋ผ ๋ค๋ฅธ ๊ณณ์์ ์ ์ํ ์ ์๋ ๊ณต๊ฐ์ ์ ์ฅ๋์ด ์๋ ๊ฒ
- Push : ๋ก์ปฌ repo์ commit๋ค์ ์๊ฒฉ repo์ ๋ฐ์ํ๋ ๊ฒ = commit๋ค์ ์๊ฒฉ repo์ ๋ฐ์ด(Push)๋ฃ๋๋ค
- Pull : ์๊ฒฉ repo์ commit๋ค์ ๋ก์ปฌ repo์ ๋ฐ์ํ๋ ๊ฒ = commit๋ค์ ์๊ฒฉ repo์์ ๋น๊ฒจ(Pull)์จ๋ค
Github : ์๊ฒฉ repo๊ฐ ์ ์ฅ๋์ด ์๋ ๊ณต๊ฐ + ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฅ
conflict (์ถฉ๋)
์๊ฒฉ repo์ ๋ก์ปฌ repo ์ ํ์ผ ๋ณ๊ฒฝ์ฌํญ์ด ๊ฒน์น๋ค๋ ๊ฒ์ ์๋ ค์ฃผ๋ ๊ฒ
์ฆ, ์๊ฒฉ repo์ ๋ก์ปฌ repo์์ ๊ฐ์ ํ์ผ ์์ → Git์ด '์ด๋ค ํ์ผ์ ์ต์ข ์ผ๋ก ํ ๊น?' ๋ผ๊ณ ํ์ธ ๋ฉ์์ง๋ฅผ ์ค
- ์ถฉ๋์ ํผํ๊ธฐ ์ํด์๋ ์๋ ์์๋ฅผ ๋ฐ๋ผ์ค๋ค.
- ์๊ฒฉ repo์ ๋ก์ปฌ repo์ ์ํ๋ฅผ ๋๊ฐ์ด ๋ง์ถฐ์ค ํ์ ๋ณ๊ฒฝ์์ ์ ํด์ค๋ค. (= ๋ก์ปฌ repo์ ์๊ฒฉ repo ์์ ๋ด์ญ pull ํด์ค๊ธฐ)
- ์๊ฒฉ repo์ ๋ณ๊ฒฝ์ฌํญ์ด ์๊ฒผ๋ค ํ๋ฉด ๋จผ์ pull ํ ํ → ๋ก์ปฌ repo์์ ์์ ํ๊ธฐ
Clone
์๊ฒฉ repo๋ฅผ ๋ด ์ปดํจํฐ์์๋ ์ฌ์ฉํ ์ ์๋๋ก ๊ฐ์ ธ์ค๋ ๊ฒ. = ์ผ์ข ์ ์ด๊ธฐ ๋ค์ด๋ก๋
- A ์ปดํจํฐ์์ ์์ → github์ ์ ๋ก๋ → B ์ปดํจํฐ์์ ๋ณด๊ณ ์ถ์ ๋
- ๋ค๋ฅธ ์ฌ๋์ repo๋ฅผ ๋๋ ๋ค์ด๋ก๋ํ์ฌ ๋ณด๊ณ ์ถ์ ๋
์ด์ฒ๋ผ ์๊ฒฉ repo๋ฅผ ๋ด ์ปดํจํฐ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋, clone์ ์ฌ์ฉํ๋ค.
- ์ฆ, clone = repo๋ฅผ ๋ด ์ปดํจํฐ์ ๋ณต์ ํด์ค๋ ๊ฒ
- url์ ํตํด ์๊ฒฉ repo์ ์ ๊ทผํ ์ ์์
๊ณต๊ฐ repo ๋ฟ๋ง ์๋๋ผ ๋น๊ณต๊ฐ repo๋ผ๋ ๊ถํ์ด ์๋ค๋ฉด(ex: ํด๋น repo์ ์ฃผ์ธ) cloneํด์ฌ ์ ์๋ค.
'Studynote > Git, Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git ์ ๋ฌธ] Git์ ๊ธฐ์ด ๊ฐ๋ - 2 (0) | 2022.08.02 |
---|---|
[Git] ๊น ๋ธ๋์นญ ์ดํดํ๊ธฐ - 1. Git ์ฃผ์ ๋ช ๋ น์ด (0) | 2022.04.15 |
[Github] Github Desktop์ ํ์ฉํ์ฌ Github ๋ธ๋ก๊ทธ ๊ธ์ฐ๊ธฐ - 3 (0) | 2022.03.08 |
[Github] Github Desktop์ ํ์ฉํ์ฌ Github ๋ธ๋ก๊ทธ ๊ธ์ฐ๊ธฐ - 2 (0) | 2022.03.08 |
[Github] Github Desktop์ ํ์ฉํ์ฌ Github ๋ธ๋ก๊ทธ ๊ธ์ฐ๊ธฐ - 1 (0) | 2022.03.08 |