let's get IT with DAVINA ๐ป
Git [installation & branch ์์ฑ] ๋ณธ๋ฌธ
Why using git?
ํ์ผ ๋ณ๊ฒฝ ๋ด์ญ์ ๋ณด์กดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด
How to install?
1. Homebrew ๊ฒ์ํด์ ์ฌ์ดํธ์ ๋ณด์ด๋ ๊ธด ์ค์น๋ช ๋ น์ด๋ฅผ
2. ํฐ๋ฏธ๋์ ๊ทธ๋๋ก ์ ๋ ฅ
3. password ์ ๋ ฅํ๋ผ๊ณ ํ๋ฉด ๋งฅ๋ถ ๋น๋ฒ ์ ๋ ฅ
4. ์ค์น ๋๋๋ฉด ์ปค๋งจ๋ 2๊ฐ ์ ๋ ฅํ๋ผ๊ณ ๋์ค๋๋ฐ 2๊ฐ ๊ฐ๊ฐ ํฐ๋ฏธ๋์ ์ ๋ ฅ
5. brew install git ํ๋ฉด ์ค์น ๋
6. ๊ธฐ๋ณธ ๋ธ๋์น ์ด๋ฆ master → main์ผ๋ก ๋ณ๊ฒฝ
git config --global init.defaultBranch main
7. ์ด ์ปดํจํฐ์์ git ์ฒ์์ด๋ค? ⇒ ์ฌ์ฉ์ ๋ฑ๋ก
git config --global user.email "ํ๊ธธ๋@naver.com"
git config --global user.name "ํ๊ธธ๋"
Git ์ด์ฉ๋ฒ
1. ์์ ํด๋์์ git ์ด์ฉ
//ํฐ๋ฏธ๋ -> ์ ์ฅ์ ์์ฑ
git init
2. ํ์ผ์ ํ์ฌ ์ํ ๊ธฐ๋กํด๋๊ธฐ
//๊ธฐ๋ก์ ๋จ๊ธธ ํ์ผ ๊ณ ๋ฅด๊ธฐ
git add ํ์ผ๋ช
//์ฌ๋ฌ ํ์ผ ๊ธฐ๋ก๋จ๊ธธ๋
git add ํ์ผ๋ช
1 ํ์ผ๋ช
2
//๋ชจ๋ ํ์ผ ๊ธฐ๋ก๋จ๊ธธ๋
git add .
//๋ด ์์น: ์ค๊ฐ์์ staging area
//์ ํํ ํ์ผ์ ๊ธฐ๋ก์ ์ค๋
์ท ์ฐ๊ธฐ
git commit -m "๋ฉ์ธ์ง"
//์ดํ ๋ด ์์น: repository
3. ๊ธฐ๋ก ์ํ ํ์ธํ๊ธฐ
# ๋ค์ ์ปค๋ฐ์ ์ํด ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ์์ ๋ ํ์ผ์ ํ์ธํ ์ ์์ต๋๋ค.
git status
4. commit ๋ด์ญ ์กฐํ
git log --all --oneline //commit ์์ด๋๋ ๋์ด
5. ๋ฐ๋ก ์ commit vs ํ์ฌํ์ผ ์ฐจ์ด์ ๋ณด๊ธฐ
# ์คํ
์ด์ง๋์ง ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด์ฌ์ค๋๋ค.
git diff
# ์คํ
์ด์งํ์ง๋ง ์ปค๋ฐํ์ง ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด์ฌ์ค๋๋ค.
git diff --staged
git difftool
:q //์ข
๋ฃ
Git Branch ์์ฑ
= commit์ ๋ณต์ฌ๋ณธ ๋ง๋ค๊ธฐ
branching์ ๊ธฐ์กด ๊ฐ๋ฐ์ค์ธ ๋ฉ์ธ ๊ฐ๋ฐ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ์ฌ ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ฉ์ธ ๊ฐ๋ฐ ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ณ ํ ์ ์๋ ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ฒ์์ Git repository๋ฅผ ์์ฑํ๋ฉด ๋์ค๋ main ๋ธ๋์น์์๋ง ์์ ์ ํ๋ค๊ฐ ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์ํด feature ๋ธ๋์น๋ฅผ ์๋ก ์์ฑํ๋ ๊ฒฝ์ฐ, ๊ธฐ์กด main ๋ธ๋์น์์์ ์์ ์ ์ ์งํ๊ณ ์๋ก์ด feature ๋ธ๋์น์์ ์์ ๋กญ๊ฒ ์ฝ๋ ์ถ๊ฐ ๋ฐ ์ญ์ ๊ฐ๋ฅ
1. branch ์์ฑ
git branch ๋ธ๋์น๋ช
//์์ฑ
git swith -c ๋ธ๋์น๋ช
//์์ฑํ๊ณ ์ด๋
git checkout -b ๋ธ๋์น๋ช
git switch ๋ธ๋์น๋ช
//๋ธ๋์น๋ก ์ด๋
git checkout ๋ธ๋์น๋ช
2. ๋ฐ์
git add .
git commit -m "๋ฉ์ธ์ง"
git switch main/master //๋ฐ์ํ๊ณ ์ถ์ ๋ธ๋์น๋ก ์ด๋
//์ด๋ HEAD=>๋ด ํ์ฌ ์์น
git merge ๋ธ๋์น๋ช
//๋ธ๋์น๋ช
์ ์๋ ๋ณ๊ฒฝ์ฌํญ์ด main/master ๋ธ๋์น์ ํฉ์ณ์ง
//์ด๋ ๋๊ฐ์ ์์น์์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ ์ conflict ๋ฐ์
//ํด๊ฒฐ๋ฒ
//1. ์ต์ข
์ ์ผ๋ก ์ํ๋ ์ฝ๋๋ง ๋จ๊ธฐ๊ณ
//2. git add
//3. git commit
'DEV_IN > Git&Github' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Git VS Github (0) | 2023.02.08 |
---|---|
Git Flow (4) | 2023.02.08 |
Github (0) | 2023.02.08 |
Git [๋ด ์ค์ ๋ณต๊ตฌํ๊ธฐ] ๊ณผ๊ฑฐ๋ก ์ฉ ๐จ (4) | 2023.02.08 |
Git [merge] (3) | 2023.02.08 |
Comments