๐ป | CS6 [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. D.S.) ์๊ณ ๋ฆฌ์ฆ ์ฑ๋ฅ ๋ถ์ ์ฑ๋ฅ ๋ถ์ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ๊ฐ์ฅ ์ต์ ์ ๋ฐฉ๋ฒ์ ํํ๊ธฐ ์ํด์๋ ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ถ์ํ๊ณ ๋น๊ตํ ํ ๊ฒฐ์ ํด์ผํ๋ค! ๊ทธ ๋ถ์์ ์ผ๋ฐ์ ์ผ๋ก ๊ณต๊ฐ ๋ณต์ก๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ํตํด ์ํํ๋ค. ๊ณต๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํํ์ฌ ์๋ฃ๊น์ง ํ์ํ ์ด ์ ์ฅ๊ณต๊ฐ์ ์๋ฏธํ๋ค. ์๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์คํํ์ฌ ์๋ฃ๊น์ง ์์๋๋ ์๊ฐ์ ์๋ฏธํ๋ค. ์ด๋, ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์๋ก ๋น๊ตํ๊ธฐ ์ํ ๋ชฉ์ ์ด๋ฏ๋ก ์ ํํ ์คํ ์๊ฐ์ ์ธก์ ๋ณด๋ค ์คํ ๋น๋์๋ฅผ ์ธก์ ํ์ฌ ๋น๊ตํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ์ฃผ์ ์ฑ๋ฅ ์ฐจ์ด๋ ์คํ ์๊ฐ ์ฐจ์ด์์ ๋ฐ์ํ๋ฏ๋ก '์ฑ๋ฅ ๋ถ์ ํ๊ธฐ'๋ '์๊ฐ ๋ณต์ก๋ ํ๊ธฐ'๋ฅผ ์๋ฏธํ๋ค! ๋น -์ค ํ๊ธฐ๋ฒ ์๊ณ ๋ฆฌ์ฆ์ด ์ฃผ์ด์ก์ ๋ ์ต์ ์ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์ฌ ๋ํ๋ด๋ ํ๊ธฐ๋ฒ์ด๋ค. ์์ ๊ทธ๋ํ๋ฅผ ํตํด์ O(1) < O(log .. 2022. 4. 26. ์ด์ 1 ๋ค์ ๋ฐ์ํ