๐ป | CS/Git5 [Git&Github] Git ์ ๋ฆฌ-5 (๋ค์ํ merge๋ฐฉ๋ฒ, 3way, fast-forward, rebase, squash, ๋ธ๋์น ์ญ์ ) merge ๋ฐฉ๋ฒ๋ค์ ๋ํด ์์ธํ ์์๋ณด์. 1. 3-way ์ ๋ฒ ํฌ์คํธ์์ ๋ค๋ฃจ์๋ merge๋ ์๋์ ๊ฐ์ ํํ์ด๋ค. ์ด๊ฒ์ด ๋ฐ๋ก 3-way merge ์ด๋ค. ๊ฐ branch์ ์๋ก์ด commit์ด ํ๋์ฉ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ํ๋๋ merge์ด๋ค. ์๋ก์ด commit์ 2๊ฐ์ branch๋ฅผ ํฉ์น๋ ๊ฒ์ด๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ๋ผ๊ณ ํ ์ ์๋ค. 2. fast-forward 3-way์ ๋ค๋ฅด๊ฒ ์๋ก์ด branch์๋ง commit์ด ์กด์ฌํ๊ณ ๊ธฐ์กด branch์์๋ commit์ ํ์ง ์์ ๊ฒฝ์ฐ์๋ ์๋์ผ๋ก fast-forward merge๊ฐ ์ํ๋๋ค. ์ด์ฒ๋ผ fast-forward merge๋ผ๋ ํฐ๋ฏธ๋ ๋ฉ์ธ์ง๋ฅผ ํ์ธํ ์ ์๋ค. ๋ง์ฝ fast-forward๋ฅผ ์ํํ๊ณ ์ถ์ง ์๋ค๋ฉด ์๋์ ๋ช ๋ น์ ์ ๋ ฅํ๋ฉด ๋๋ค. .. 2023. 10. 29. [Git&Github] Git ์ ๋ฆฌ-4 (branch, merge) 1. git branch ํ๋ก์ ํธ ์งํ ์ค ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ์กด์ ๊ธฐ๋ฅ์ ์ ๊ทธ๋ ์ด๋ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ๊ฒ์ด๋ค. ์ด๋ ๊ธฐ์กด ํ์ผ์ ๊ทธ๋๋ก ์์ ํ๋ ๊ฒ๋ ๊ด์ฐฎ์ง๋ง ์์ ๋์ค ํ๋ก๊ทธ๋จ ์์ฒด๊ฐ ๋ง๊ฐ์ ธ๋ฒ๋ฆด ์๋ ์๋ ๋ฆฌ์คํฌ๋ฅผ ์๊ณ ์์ด์ผํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ๋ก์ ํธ์ ๋ณต์ฌ๋ณธ์ ์์ฑํด์ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์ด๋ค. git์ branch ๊ธฐ๋ฅ์ ์์ฝ๊ฒ ๋ณต์ฌ๋ณธ์ ์์ฑํด์ค๋ค. ์ฌ์ฉ๋ฒ git branch ๋ธ๋์น๋ช ์ ๋ช ๋ น์ด๋ก ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด ํ๋ก์ ํธ์ ์ฌ๋ณธ์ด ํ๋ ์์ฑ๋๋ค. git switch ๋ธ๋์น๋ช ์์ฑํ ๋ธ๋์น๋ก ๋ณ๊ฒฝํ๋ฉด ์ฌ๋ณธ์์ ์์ ์ ํ ์ ์๋ ์ํ๋ก ๋ณ๊ฒฝ๋๋ค. ์์ 1 sub๋ผ๋ branch๋ฅผ ์์ฑํ ํ ๋ณ๊ฒฝํ์๋ค. git status๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ ์ด๋ ํ branch์์ ์์ ์ค์ธ์ง.. 2023. 10. 29. [Git&Github] Git ์ ๋ฆฌ-3 (.gitignore) Git์ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ๋ค์ ์ถ์ ํ ์ ์๋๋ฐ ์ด๋ ๊ตณ์ด ํ ํ์๊ฐ ์๋ ๊ฒ ํน์ ๊ผญ ๋ฐฐ์ ํด์ผํ ๊ฒ๋ค์ด ์กด์ฌํ ์ ์๋ค. ํ์๊ฐ ์๋ ๊ฒ๋ค : ์๋์ผ๋ก ์์ฑ๋๋ ๊ฒ๋ค or ๋ค์ด๋ก๋๋๋ ๊ฒ๋ค (buildํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ๋ฐฐ์ ํด์ผํ๋ ๊ฒ๋ค : ๋ณด์์์ผ๋ก ์ค์ํ ํ์ผ๋ค ์ด๋ด ๋์๋ .gitignore ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ ํ ์์๋ค์ ๋ฏธ๋ฆฌ ์ง์ ํด๋์ ์ ์๋ค. 1. ์ฌ์ฉํ๊ธฐ ๋จผ์ ์ค์ํ ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. git status๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. ์ด์ .gitignore ํ์ผ์ ์์ฑํ ๋ค ์๋์ ๊ฐ์ ๋ด์ฉ์ ์ฝ์ ํ๋ค. secret.txt ๋ค์ git status๋ฅผ ํ์ธํด๋ณด๋ฉด secret.txt๊ฐ ๋์ด์ ์ถ์ ๋์ง ์๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ฐฐ์ ํ ์์๋ค์ ๋ฑ๋กํด๋์ ์ ์๋ค. 2. ์ถ.. 2023. 10. 29. [Git&Github] Git ์ ๋ฆฌ-2 (w.VSCode, diff) 0. VSCode์์ ๊น ํ์ฉํ๊ธฐ ํฐ๋ฏธ๋์ด ์๋ VSC์์๋ git์ ํธํ๊ฒ ํ์ฉํ ์ ์๋ค. 1) git ๊ธฐ๋ณธ ์๋ํฐ๋ฅผ VSCode๋ก ๋ฐ๊พธ๊ธฐ git config --global core.editor "code --wait" ๋งฅ์ ๊ฒฝ์ฐ git ๊ธฐ๋ณธ ์๋ํฐ๊ฐ vi ์ฆ, ๊ธฐ๋ณธ ํฐ๋ฏธ๋๋ก ์ค์ ๋์ด์๋๋ฐ ์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด VSC๋ฅผ ๊ธฐ๋ณธ ์๋ํฐ๋ก ์ง์ ํ ์ ์๋ค. 2) VSC์์ git add commit ์ผ์ชฝ ํจ๋์ ์์นํ Source Control์ ํด๋ฆญํ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์์นํ ํ์ผ๋ค์ ๋ณํ์ ๋ํด์ ์ถ์ ํ ๊ฒ์ ๋ณผ์ ์๋ค. ๋ํ + ๋ฒํผ์ผ๋ก git add๋ฅผ ์ํํ ์ ์๊ณ ์ฒดํฌ ๋ฒํผ์ผ๋ก git commit์ ํ ์ ์๋ค. ํ์ผ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ฑฐ๋ ๋ง์ ๋ณ๊ฒฝ์ฌํญ ์ค ์ผ๋ถ๋ง repo์ ๋ฑ๋กํ๊ณ ์ถ์ ๊ฒฝ์ฐ .. 2023. 10. 28. [Git&Github] Git ์ ๋ฆฌ-1 (์ต์ด์ค์ , add, commit, status, log) 0. git์ด ํ์ํ ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์ค ์ด์ ์ ์์ฑํ๋ ๊ฒ์ผ๋ก ๋๋์ ๊ฐ๊ณ ์ถ์๋๊ฐ ์์ ๊ฒ์ด๋ค. ์ด๋ด๋ ํ์ผ์ ๋ฐฑ์ ํด๋๋ ๊ฒ๋ ์ข์ง๋ง ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด๋๋ค. ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด(VCS) ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก git์ด๋ค. ์ฅ์ 1. ํ๋ก์ ํธ์ ์๊ฐ๊ณผ ์ฐจ์์ ์์ ๋กญ๊ฒ ํด์ค๋ค. git์ ์ด์ฉํ๋ฉด ํ๋ก์ ํธ์ ๋ฒ์ ์ ๊ณผ๊ฑฐ๋ก ๋๋๋ฆฌ๊ฑฐ๋ ํน์ ํ ๋ด์ญ์ ์ทจ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ๋ํ ์ฌ๋ฌ ๋ชจ๋๋ฅผ ์ฝ๊ฒ ์ ํํ๊ณ ๊ด๋ฆฌํ๊ฑฐ๋ ์ฌ๋ฌ ๋ชจ๋๋ฅผ ํฉ์น๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ฅ์ 2. ํ๋ก์ ํธ ํ์ ์ ์์ฃผ ํธ๋ฆฌํ๋ค. ์ฌ๋ฌ ์ฌ๋์ด ํ๋์ ํ๋ก์ ํธ๋ฅผ ์์ ํ ๋ ๊ฐ์ ์์ ์ด ๋งก์ ๋ถ๋ถ์ ์์ ํ๊ณ ํ๋์ ๋ฉ์ธ ํ๋ก์ ํธ์ ํฉ์น๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์์ฃผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํด์ด๋ค. 1. CLI .. 2023. 10. 28. ์ด์ 1 ๋ค์ ๋ฐ์ํ