1. ํ์ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด (git ๋ช ๋ น์ด ์๋)
- ์ฑํธ๋์ vscode ํฐ๋ฏธ๋ ๋์ , ํฐ๋ฏธ๋(๋งฅOS), git bash(์๋์ฐ)๋ก ์งํ
1. pwd (print working directory)
- ๋ด๊ฐ ์์ ํ๊ณ ์๋ ํด๋๋ฅผ ๋ณด์ฌ๋ฌ๋ผ๋ ๋ป
- ์ฐธ๊ณ : ~ ๋ ํ(Home)์ด๋ผ๋ ๊ฒฝ๋ก์ด๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ๋ณด๋ ๋ฐํํ๋ฉด ๋ณด๋ค ํ๋จ๊ณ ๋์ ํ
2. ls (list)
- ๋ด ํด๋ ์์ ์๋ ํด๋ & ํ์ผ ๋ด์ญ์ ๋ณด์ฌ์ค
- list๋ผ๋ ๋ป์ด๋ฏ๋ก ๋๋ฌธ์ ์์ด(I)๊ฐ ์๋๋ผ ์๋ฌธ์ ์(l)์
3. ls -a (list all)
- ์จ๊ฒจ์ง ํ์ผ(๋ณดํต . ์ผ๋ก ์์ํจ)๋ ๋ชจ๋ ๋ณผ ์ ์์
4. cd ํด๋๋ช (change directory)
- ls ๋ช
๋ น์ด์์ ํ์ธ๋ ํด๋๋ก ์ด๋ ๊ฐ๋ฅ
๋ง์น ๋ฐ์คํฌํ์ ํด๋๋ฅผ ๋๋ธ ํด๋ฆญํด์ ๋ค์ด๊ฐ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ - ๋น์ฐํ์ง๋ง cd ์ฌ๋ฌ๋ฒ ๊ฐ๋ฅ
- cd .. ์ผ๋ก ํ ๋จ๊ณ ์์ ํด๋๋ก ๋ค์ ์ด๋ ๊ฐ๋ฅ
- cd ํด๋๋ช /ํด๋๋ช ์ผ๋ก ํ ๋ฒ์ ๋ค์ด๊ฐ ์ ์์ (์. Desktop/javascript)
- ํด๋๋ช ์ ๊ณต๋ฐฑ์ด ์์ ๊ฒฝ์ฐ "ํด๋๋ช " ํ์์ผ๋ก ์ณ์ผ ์ค๋ฅ๊ฐ ์์
5. mkdir ํด๋๋ช (make directory)
- ํ์ฌ ๊ฒฝ๋ก์์ ํด๋๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด
6. touch ํ์ผ๋ช
- ํ์ผ์ ์์ฑํ๋ ๋ช ๋ น์ด
- text ๋ฉ๋ชจ์ฅ ํ์ผ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด touch test.txt
2. Git & Github์ ๊ฐ๋
1. ์ผ์ ์ํ๋ก ์์๋ณด๋ Git
- ๊ต์๋์ด ๊ณผ์ ๋ฅผ ๋๋ค๊ณ ๊ฐ์ ํด๋ณด์
- ๊ณผ์ ๊ฐ ๊น๋ํ ๋ ํฌํธ ํ๋๋ก ๋ง๋ค์ด ์ง๋ฉด ์ข์ง๋ง, ํ์ค์ ์ผ๋ก ์์ ์์
๋ฐ ํ์ผ์ด ๋๋ฌด ๋ง์ ๊ฒ์ด๋ค
์ต์ข .ppt ์ต์ข ์์ต์ข .ppt ์ต์ข ์์ต์ข ์์ต์ข .ppt - ๋ฌธ์ ์ : ํ์ผ์ด ๋ง์์ ์ง์ ๋ถํด์ง๊ณ , ๊ฐ ํ์ผ์ ๋ํ ๋ณ๊ฒฝ๊ธฐ๋ก์ด ์์ด์ ๋ญ๊ฐ ๋ญ์ง ์์ธํ ์ ์๊ฐ ์์
- Git์ ์ด๋ฌํ (1) ํ์ผ, ํด๋ ๋ณต์ฌ ๊ธฐ๋ฅ + (2) ๋ณ๊ฒฝ ๊ธฐ๋ก ๊ธฐ๋ฅ ์ ํฉ์น ๊ฒ์ด๋ค.
- ์ฝ๊ฒ ๋งํ๋ฉด: ์ฝ๋ ๋ณ๊ฒฝ์ ๊ธฐ๋ก
- ์ด๋ ต๊ฒ ๋งํ๋ฉด: ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ (ํ์ ๊ด๋ฆฌ ๋๊ตฌ)
= ์ํํธ์จ์ด์ ๋ณ๊ฒฝ์ฌํญ์ ์ฒด๊ณ์ ์ผ๋ก ์ถ์ ํ๊ณ ํต์ ํ๋ ๊ฒ (๋ฉด์ ์ฉ) - ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๋จ๊ณ์์ ๊ฑท์ก์ ์ ์๋ ์๋ฌ๊ฐ ๋ด๋ค๋ฉด, ๊ณผ๊ฑฐ์ ์ฝ๋ ๊ธฐ๋ก์ผ๋ก ์ฝ๊ฒ ๋๋์๊ฐ๊ธฐ ๊ฐ๋ฅ
2. ์ผ์์ํ๋ก ์์๋ณด๋ Github
- ๊ณผ์ ํ๊ณ ์๋ค๊ฐ ์ปดํจํฐ๊ฐ ๊ณ ์ฅ๋๋ค๋ฉด? ๋ค์ ์ฒ์๋ถํฐ ๋ง๋ค์ด์ผ ํจ
- ๋ฐ๋ผ์ ์ํฉ ๋ฐฉ์ง๋ฅผ ์ํด ์จ๋ผ์ธ(๊ตฌ๊ธ ๋๋ผ์ด๋ธ ๋ฑ)์ผ๋ก ๋ฐฑ์ ์ ํด๋์
- Github๋ ์ด๋ ๊ฒ ๋ฐฑ์ ๊ณผ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ ์จ๋ผ์ธ ์ฝ๋ ์ ์ฅ์ = ํ์ ๊ฐ๋ฅ
- ์จ๋ผ์ธ ์ ๋ก๋ -> ํ์๋ค์๊ฒ ์ฝ๊ฒ ๊ณต์ ๋ ๊ฐ๋ฅ
3. Git ํ์ ๋ช ๋ น์ด
- 1. `git init`
- 2. `git add <ํ์ผ๋ช >` ํน์ `git add .`
- 3. `git commit -m "๊ธฐ๋ฅ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ก"`
- 4. `git status`
- 5. `git log`
- 6. `git push`
- 7. `git clone`
- 9. `git pull` (+ ์ปจํ๋ฆญํธ(Conflict) ํด๊ฒฐ๋ฒ)
- 10. `git branch`
- 11. `git switch <๋ธ๋์น๋ช >` ํน์ `git checkout <๋ธ๋์น๋ช >`
- 12. `git merge`
- 13. `git stash`
1. git init : ์ฝ๋ ๊ด๋ฆฌ๋ฅผ ์์ํ๋ ๋ช ๋ น์ด
- intialize (์ด๊ธฐํํ๋ค, ์ด๊ธฐ ์ธํ ํ๋ค)์ ์ค์๋ง
- ํ๋ก์ ํธ ์์ ์ ๋ฑ ํ ๋ฒ๋ง ์ ๋ ฅํ๋ฉด ๋จ (์ฌ๋ฌ ๋ฒ ์ ๋ ฅํด๋ ๋ฌธ์ ๋์ง ์์)
- โ ์ค์ โ ์ ํํ ํ๋ก์ ํธ ํด๋(๊ฒฝ๋ก)์์ ์ ๋ ฅํด์ผ ํจ (์๋ชปํ๋ฉด ๋ฐ์คํฌํ ์ ์ฒด ํ์ผ, ํด๋๊ฐ ๋ค ๊ธฐ๋ก๋จ)
- ํ์ผ์์ ๊ฐ๋จํ ์ฝ๋ (.kt) ํ์ผ ๋ง๋ค๊ณ ํฐ๋ฏธ๋ ํน์ gitBash ์ด์ด ์ฃผ๊ธฐ
- ํด๋ - ์ค๋ฅธ์ชฝ ํด๋ฆญ - GitBash here ๋๋ฅด๋ฉด ์ ํํ ๊ทธ ์์น์์ ์ด๋ฆผ
- ๊ทธ๋๋ ๊ฒฝ๋กํ์ธ์ ํ์ (pwd)
- git init์ด๋ผ๊ณ ์ ๋ ฅํ๋ฉด '๊น ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์๋ก ์์ฑํ๋ค'๋ ์๋์ด ๋ฐ ๊ฒ. ์ ๋ ๊ฒ ๋์ค๋ฉด ์ฑ๊ณต
- ls -a ํ๋ฉด .git ์ด๋ผ๋ ํด๋๊ฐ ๋์ด
- ์ด .git ํด๋์์ ์ฝ๋ ๋ณ๊ฒฝ์ ์ ๊ณ์ ์ถ์ & ๊ธฐ๋กํจ. ๋ฐ๋ผ์ ์ ํํ ํ๋ก์ ํธ ๊ฒฝ๋ก์ ์์ด์ผ ํจ
- pwd๋ก ํ์ฌ ๊ฒฝ๋ก ํ์ธ ํ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅด๋ฉด cd ๋ช ๋ น์ด๋ก ์ด๋ ํ git init ๋ช ๋ น์ด ์คํํด์ผ ํจ
2. git add & git commit : ์ฝ๋๋ฅผ ์ ์ฅํ๋ ๋ช ๋ น์ด
๐ก ์์
- git add ํ์ผ๋ช (์ ์ฅํ ํ์ผ๋ช )
- git commit -m "๋ฉ์ธ์ง ์์ฑ" (๋ฉ์์ง ๋ถ๋ถ์ ๋ด๊ฐ ๋ฌด์จ ์ฝ๋๋ฅผ ์งฐ๋์ง ์์ธํ๊ฒ ์ ๋ ๊ฒ์ด ์ข์)
- ์ ์ฅ ์๋ฃ
๐กgit commit ํ ์ ์ฅ ์ ๋๋ ๊ฒฝ์ฐ
- ๊ณ์ ์ค์ ์ ํ์ง ์์๊ธฐ ๋๋ฌธ์ (Please tell me who you are)
- ๊ณ์ ์ค์
git config --global user.email "abc1234@gmail.com"
git config --global user.name "nickname"
๐ก ์ ์ฅ ๋ช ๋ น์ด๊ฐ 2๊ฐ์ธ ์ด์ ?
- git add ํ์ผ๋ช : ์ ์ฅํ๊ธฐ ์ ์ ์ฅํ ํ์ผ ์ง์
- git commit -m "๋ฉ์์ง ์์ฑ" : ์ค์ ๋ก ์ ์ฅํ๋ ๋ช ๋ น์ด
3. git status : ์ ์ฅ ์ฌ๋ถ ํ์ธํ๋ ๋ช ๋ น์ด
- ์ฝ๋์ ๋ณ๊ฒฝ์ ์์ง๋ง ์ ์ฅ์ ํ์ง ์์ ํ์ผ: ๋ถ์์์ผ๋ก ํ์
- ์ด๋ค ํ์ผ์ด add(์ง์ ) ๋๋์ง ํ์ธ: ์ด๋ก์์ผ๋ก ํ์ธ
๐ก ๋ด ํ๋ก์ ํธ์ ๋ณ๊ฒฝ์ฌํญ์ ํ ๋ฒ์ ์ง์ ํ๋ ๋ฒ
- git add . (์ . ์ ํ์ฌ ํด๋(๋๋ ํ ๋ฆฌ)์ ์๋ ๋ชจ๋ ํ์ผ์ ์๋ฏธ)
- git commit m "๋ฉ์์ง"
- git status ๋ก ํ์ธ -> nothing to commit (๋ ์ด์ ์ปค๋ฐํ ๊ฒ ์๋ค๋ ์๋ด๋ฉ์์ง ๋ธ)
๐ก Working directroy, Staging area, Repositoy?
- ์ด ๋ถ๋ถ์ ๊ฐ๋ ์ ์ด๋ ต๊ฒ ์ ํ์ ์๋ ๋ถ๋ถ์ด๋ผ ํธํ๊ฒ ๊ตฌ๊ธ๋งํ๋ฉฐ ๊ฒ์ํด๋ณด๊ธฐ
4. git log : ์ ์ฅ ๋ด์ญ์ ํ์ธํ๋ ๋ช ๋ น์ด
- ์ปค๋ฐ ๋ฉ์์ง๋ก ์ฝ๋ ๋ณ๊ฒฝ์ ์ถ์ธก ๊ฐ๋ฅ -> ์ด๋์ commitํ ๋ ๋ฉ์์ง ์ ์์ฑํ๋ผ๊ณ ํ๋ ๊ฒ
- ๊ฐ๊ฐ์ ์ปค๋ฐ๋ง๋ค ID๊ฐ ์๋ ๊ฒ์ ๋ณผ ์ ์์
- git diff: ์ฝ๋ ๋ณ๊ฒฝ ํ์ธ
git reset : ๊ณผ๊ฑฐ๋ก ๋์๊ฐ๊ธฐ ๊ฐ๋ฅ - ์๋ (END)๊ฐ ๋จ๋ฉด ํค๋ณด๋ ์ ๋ ฅ์ด ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ, Q ํด๋ฆญํ๋ฉด ๋น ์ ธ๋์ฌ ์ ์์
4. Github์ผ๋ก ์ฝ๋ ๋ฐฑ์ ํ๊ธฐ
1. ์จ๋ผ์ธ ์ ์ฅ์ (github repositoy) ๋ง๋ค๊ธฐ
1. github ํ์ ๊ฐ์
๋ฐ ๋ก๊ทธ์ธ
2. Repositories์์ New ๋ฒํผ ํด๋ฆญ
3. Repository ์ด๋ฆ ์
๋ ฅ ํ creat respository ๋ฒํผ ํด๋ฆญ
4. ์์ฑํ github repository ํ๋ฉด์ด ๋์ด
2. ๋ด ์ฝ๋๋ฅผ Github respository๋ก ์ ๋ก๋ ํ๊ธฐ
1. ์๋ or push ๋ถ๋ถ ๋ณต์ฌํด์ ํฐ๋ฏธ๋์ ๊ทธ๋๋ก ๋ถ์ฌ๋ฃ๊ณ ์ํฐํ๋ฉด ์ ์ฉ ๋ ๊ฒ
2. ์๋ก ๊ณ ์นจํ๋ฉด ๋ ํฌ์งํ ๋ฆฌ์ ์๊น ์ง ํ์ผ์ด ์ ์ฅ๋ ๊ฒ์ Github์์ ํ์ธํ ์ ์์
3. git push : ์ถ๊ฐ๋ก ์์ ๋ ์ฝ๋ github์ ๋ฐ์ํ๊ธฐ
- Git์์ commit๊น์ง ๋ ๊ฒ์ github์ ๋ฐ์ํ๋ ๋ช ๋ น์ด
- 1. ์ฝ๋ ์์
2. ์ฝ๋ ์ ์ฅ: ๋ช ๋ น์ด ์คํ git add . & git commit -m "๋ฉ์์ง"
3. ์ฝ๋ ์ ๋ก๋: git push origin ๋ธ๋์น๋ช (ํ์ฌ ์์ ์์๋ ๋ธ๋์น๋ช main์ผ๋ก ์์ฑํ ๊ฒ)
๐ก ๋ ํฌ์งํ ๋ฆฌ QuickSetup ์ ๋ช
๋ น์ด์ ์๋ฏธ? 1. git remote add origin <github ์ฃผ์> - ์๋๋ pushํ ๋ git push github์ฃผ์ ๋ธ๋์น๋ช ์ผ๋ก ์์ฑ ํ์ด์ผ ํจ - ํด๋น ๋ช ๋ น์ด๋ก github์ฃผ์๋ฅผ origin์ผ๋ก ์ง์ - git push origin ๋ธ๋์น๋ช ์ผ๋ก ์๋ํ๋๋ก ์ค์ ํ๋ ๊ฒ 2. git branch -M main - git init์ ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ธ๋์น ์ด๋ฆ์ด master๋ก ๋์ด ์๋๋ฐ (๋ ธ์ ์ ๋์ ๊ด๋ จ) - ์ด ๋ธ๋์น๋ช (master)๋ฅผ main์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ (BlackLivesMatter) 3. git push -u origin main - ์๋๋ผ๋ฉด pushํ ๋ git push origin main ์ ์ ๋ ฅํด์ค์ผ ํจ -> ๊ท์ฐฎ์ - ์ด ์ฝ๋๋ก git push ๋ง ์ ๋ ฅํด๋ git push origin main ์ด ์๋ ๋จ - -u๋ ์ฐ๊ฒฐ ๊ฐ๋ |
5. Github ํ์ ํ๊ธฐ + ์ถฉ๋ ํด๊ฒฐํ๊ธฐ
1. ํ๋ ฅ์(collaborator) ๋ฑ๋กํ๊ธฐ (ํ์ฅ ์ ์ฅ)
- github ๋ ํฌ์งํ ๋ฆฌ -> settings -> collaborators -> Add people
- ์ถ๊ฐํ ํ์ username์ด๋ email๋ก ์ถ๊ฐ -> ์ด๋ ์๋ฝ
2. git clone : ์ฝ๋ ์ ์ฒด ๋ณต์ฌํด์ค๊ธฐ (ํ์ ์ ์ฅ)
- A ํ์ฅ์ ์ฝ๋ -> Github -> B ํ์์๊ฒ ํต์งธ๋ก ์ฎ๊น : Git clone
- ์ด ๋ช ๋ น์ ์ ์ฅ์๋ฅผ ์ฒ์ ์์ํ ๋ ์ฌ์ฉ๋๋ฉฐ, ๊ทธ ์ดํ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ์ฌ์ฉ๋์ง ์์
- Github์์ ๋ณต์ฌํ ๋ ํฌ์งํ ๋ฆฌ - code ํด๋ฆญ - https ์ฃผ์ ๋ณต์ฌ
- IDE์์ ์ฝ๋๋ฅผ ์์ฑํ ํด๋๋ฅผ ๋ง๋ค์ด์ ์ด๊ณ
- ํฐ๋ฏธ๋ ์์์ git clone <github ์ฃผ์> . ๋ช
๋ น์ด ์
๋ ฅ
( . ์ ์์น๋ค๋ฉด ํด๋๊ฐ ์๋ก ๋ง๋ค์ด์ ธ์, ๊ทธ ํด๋ ์์ผ๋ก ๋ค์ด๊ฐ์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์
๋ฐ๋ผ์ ์ฝ๋ ์์ฑํ ํด๋๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋๊ณ ๊ฑฐ๊ธฐ์ git clone github์ฃผ์ . ํ๋ ๊ฑฐ ์ถ์ฒ) - ํ์ธํด๋ณด๋ฉด ํ๋ก์ ํธ ํ์ผ๋ค์ด ๋ค์ด์์ก๊ณ , ๋ค๋ฅธ ํ์๋ค๋ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์
3. git pull : ๋ค๋ฅธ ์ฌ๋์ด ๋ณ๊ฒฝํ ์ฝ๋ ๋ด ์ฝ๋์๋ ๊ฐ์ ธ์ค๊ธฐ
- ๋ณ๊ฒฝ์ฌํญ์ ์ ๋ก๋ ํ๊ณ ์ ์ฉํ๊ณ ์ถ์ ๋ pull ์ ํด์ผ ํจ.
- clone์ ์ ์ฒด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ผ๋ก ๋ณดํต ์ด๊ธฐ ํ ๋ฒ ์คํํ๊ณ ์ ํจ
- A ํ์ฅ์ด a์ฝ๋๋ฅผ ๋ง๋ฆ -> Github์ push -> B๊ฐ clone์ผ๋ก a๊ฐ์ ธ์ด
- a๋ฅผ ๊ฐ์ ธ์จ B๊ฐ b ํ์ผ์ ์๋ก ๋ง๋ค์ด์ a+b ์ ์ฒด git push๋ฅผ ํจ
- Github์ aํ์ผ๊ณผ bํ์ผ์ด ์๊น
- ๊ทผ๋ฐ Aํ์ฅ์ด ๊ทธ๋์ a๋ฅผ ์์ ํ๊ณ ์์๊ณ , pushํด๋ฒ๋ฆฌ๋ฉด ๋ฎ์ด์ฐ๊ธฐ๊ฐ ๋์ด b๊ฐ ์ฌ๋ผ์ง๊ณ ๋ฐ๋ a๋ง ๋จ์
- ์ด๋ ๊ฒ ๋๋ฉด ์๋๊ฒ ์ง? (์ด์ฐจํผ ์๋ฌ๋์ Git์์ ๋ง์์ค์ ์๋ฌ๋๊ธด ํจ)
→ ๋ค๋ฅธ ์ฌ๋์ด ์ด๋ฏธ git pushํ๊ณ ๋ด๊ฐ git pushํ๋ ค๊ณ ํ๋ฉด ๋ฐ์ํ๋ ์๋ฌ
git push ์ ์ git pull ๋จผ์ ํ์ธ์ ๋ผ๋ ํํธ๊ฐ ๋จ๊ธด ํจ
- ์ฝ๋ ์์ ํ git push origin ๋ธ๋์น๋ช
- git pull์ ๋จผ์ ํ๋ผ๋ ์๋ฌ ๋ฐ์ ์ git pull origin ๋ธ๋์น๋ช ์ ๋ ฅ (๋ค๋ฅธ ์ฌ๋์ด ์ ๋ก๋ ํ๊ตฌ๋ ์๊ฐ)
- git pull ์ ์ฒ์ ํ ๋ ๊ฒฝ๊ณ ๋ฌธ ๋ฐ ์ ์์ - ํฉ์น ๋(merge) ์ด๋ป๊ฒ ํ ๊ฑฐ์ผ? ํ๋ ์ค์
- ์ฒ์ํ ๋ ๊ฒฝ๊ณ ๋ฌธ์ด ๋ฌ๋ค๋ฉด ์ฒซ๋ฒ ์งธ ์ค git config pull.rebase false ๋ณต์ฌํด์ ๊ทธ๋๋ก ๋ค์ ์
๋ ฅ
(rebase๋ true ๋ชจ๋ฅด๊ณ ์ฐ๋ฉด ๋ค ๋ ๋ฆผ ์ฃผ์. ๋์ค์ ํ์ ์์๋ ์ ์ฐ๋ ๊ฒฝ์ฐ ๋ง์) - ๋ค์ git pull origin ๋ธ๋์น๋ช ์ ๋ ฅํ๋ฉด ์ ๋ ๊ฒ
๐ก ํฐ๋ฏธ๋์ ์๋ฌด๊ฒ๋ ์ ๋ ฅ์ด ์๋๋ vim ์๋ํฐ๊ฐ ๋ฌ๋ค๋ฉด?
- ํค๋ณด๋ esc
- ํค๋ณด๋ :
- ํค๋ณด๋ w, q
- ํค๋ณด๋ enter ๋๋ฌ๋ณด๋ฉด ์ ์ฅ ๋จ
4. ์ถฉ๋(conflict) ํด๊ฒฐํ๊ธฐ : git pull ๋ช ๋ น์ด๋ก ๊ฐ์ ธ์๋๋ฐ ์ฝ๋๊ฐ ์ด์ํ ๊ฒฝ์ฐ
- index.html์์ ์ถฉ๋์ด ๋ฐ์ํ์ผ๋ ํด๊ฒฐํ๋ผ๋ ๋ฉ์์ง
- ์ถฉ๋ ์ด์ : ๊ฐ์ ํ์ผ์ ๊ฐ์ ์์น์ ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ
ex) A๊ฐ๋ฐ์๊ฐ aํ์ผ์ 2๋ฒ์งธ ์ค ์ฝ๋ ๋ณ๊ฒฝ, B๊ฐ๋ฐ์๊ฐ aํ์ผ์ 2๋ฒ์งธ ์ค ์ฝ๋ ๋ณ๊ฒฝํ์ ๋ - Current Change๋ ๋ด๊ฐ ์์ ํ ๊ฒ, Incoming Change๋ ์๋๊ฐ ์ฌ๋ฆฐ ๊ฒ
๐ก ํด๊ฒฐ๋ฐฉ๋ฒ (์ด๊ฑด ๊ท์น์ด ์๋๊ฒ ์๋๋ผ, ์ฐ๋ฆฌ๊ฐ ์ง์ ํด์ผํ๋ ๊ฒ. Github์์ ํด์ค ์ ์์)
- 1. <<<< HEAD ์ญ์
- 2. ======= ์ญ์
- 3. >>>>>>>> 4182... ์ญ์
(<<<<====>>> ์ญ์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋จ) - 4. ์ํ๋ ์ฝ๋๋ก ์์ (ํ์๊ณผ ์๊ธฐํ๋ฉด์ ์์ )
๐ก pull๋ก ์ธํ ์ถฉ๋(Conflict)์ ํด๊ฒฐํ๋ค๋ฉด
- git add. & git commit -m "๋ฉ์์ง" ์ ์ฅ
- git push origin ๋ธ๋์น๋ช (main)
๐ก git push์ pull์ ์ฃผ๊ธฐ
- ์ ํด์ง ๊ฒ์ ์๋์ง๋ง, git push๋ pull์ ์์ฃผํด์ผ ๊ฒน์น๋ ์ถฉ๋ ํด๊ฒฐ ์์ ์ค์ด ์ค
- ๋ฆ๊ฒ ํ๋ฉด ์ถฉ๋ ๋๋ง๋ค ์์ ํ ์์ด ์ ์ ๋ง์์ ธ์ ํ๋ฆ
- ์ง์ง ์ต์ํ์ ๊ธฐ๋ฅ ๋จ์๋ง๋ค๋ ํด์ฃผ๋ ๊ฒ์ ์ถ์ฒ
๐ก ์ฌ๋ผ๊ฐ์ ์๋ ํ์ผ์ด ์ปค๋ฐ๋ ๊ฒฝ์ฐ ์ดํ ํ์ผ์ ์ง์ฐ๊ณ ์ปค๋ฐ์ ํ์ฌ๋ ๋ก๊ทธ์ ๋จ์์์ด ์์ ํ ์ง์์ง์ง ์๋ ๊ฒฝ์ฐ
- git reset ํ ๋ค์ git push (๊ตฌ๊ธ๋ง ํด๋ณด๊ธฐ)