๊น, ๊นํ๋ธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋ธ๋์น๋ผ๋ ๊ฐ๋ ์ ์์์ผํ๋ค๊ณ ํฉ๋๋ค.
Git
๊ทธ์ ์ ์ฐ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ git ์ ๋ํ์ฌ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ปดํจํฐ๋ก ์์ ์ ์ํํ๋ฉด, ํ์ผ์ด ์์ฑ๋๋๋ฐ, ํ๋ฒ ์์ฑํ ํ์ผ์ ํนํ ์ฝ๋ฉ ๊ฐ์ ๊ฒฝ์ฐ ๊ณ์ ์์ ์ด ์ด๋ค์ง๋๊ฒ ๋ณดํต์ ์ผ์ ๋๋ค. ํ์ง๋ง, ๋งค๋ฒ ์๋ก์ด ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ ๋, ์ด์ ์ ํธ์ง์ ์ํํ ํ์ผ์ ๋ํ ์ ๋ณด๊ฐ ํ์ํ๋ค๋ฉด ์ด๋จ๊น์. ๋ฌผ๋ก ๋ฏธ๋ฆฌ ํด๋น ํ์ผ์ ๋ณต์ฌํด์ ๋ฐ๋ก ๋ณด๊ดํ๊ณ ์๋ค๋ฉด ์๊ด์์ง๋ง, ์ค์ ๋ก๋ ์์ฒญ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ๋ํ ์ค์๋ก ํ์ผ๋ช ์ ๋๋ฝํ๊ฑฐ๋, ์ ์ฅํ๋ ๊ฒ์ ๊น๋นกํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์์ด, ์ค์ ๋ก๋ ์ด๋ฌํ ๋ถํธํจ์ด ์์ด, Git ๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ด ์กด์ฌํ์ฌ ๋ฒ์ ๊ด๋ฆฌ์ ๋ฐ๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ค๋๋ค.
Git์ ์์ค์ฝ๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ '๋ถ์ฐํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ '์ ๋๋ค.
(์ฌ์ค Linux ์์ค์ฝ๋๋ฅผ ๊ด๋ฆฌํ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ๋จ)
์ฅ์ ์ Git์์๋ ์์ค ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋ ์ด๋ ฅ์ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ์์ ์ ์ ์ฅ๋ ๋ฒ์ ๊ณผ ๋น๊ตํ๊ฑฐ๋ ํน์ ์์ ์ผ๋ก ๋๋์๊ฐ ์๋ ์์ต๋๋ค.
Git Repository
์ ์ฅ์(Git repository)๋ ๋ง๊ทธ๋๋ก ํ์ผ์ด๋ ํด๋๋ฅผ ์ ์ฅํด ๋๋ ๊ณณ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ์ต๋๋ค.
์ ์ฅ์์ ์์น๋ ๋ก์ปฌ๊ณผ ์๊ฒฉ ์ ์ฅ์ 2๊ฐ๋ก ๋๋ฉ๋๋ค.
๋ก์ปฌ์ ๊ฒฝ์ฐ๋ ๋ณธ์ธ์ ์ปดํจํฐ์ด๊ณ , ์๊ฒฉ์ ์๋ฒ๋จ์ ์๋ ์ ์ฅ์์ ๋๋ค.
๋ณดํต์, ๋ก์ปฌ์์ ์์ ์ ํ๊ณ , ์์ ํ ๋ด์ฉ์ ๊ณต์ ํ๊ณ ์ถ๊ฑฐ๋, ํ์ํ ํ์ผ์ธ ๊ฒฝ์ฐ ์๊ฒฉ ์ ์ฅ์์ธ (Remote Repository) ์ ์ ๋ก๋๋ฅผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์๊ฒฉ ์ ์ฅ์์์๋ ์ฌ๋ฌ ์ฌ๋๊ณผ ํจ๊ป ํ์ผ์ ๊ณต์ ํ๊ณ ๋ค์ด๋ก๋๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
์ ์ฅ์๊ฐ์ ๊ฒฝ์ฐ ์๋ก๋ง๋ค๊ฑฐ๋, ๊ธฐ์กด์ ์๋ ์ ์ฅ์๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ 2๊ฐ์ง๊ฐ ์กด์ฌํฉ๋๋ค.
Commit - ๋ณ๊ฒฝ ์ํ ๊ธฐ๋ก
์ปค๋ฐ ๋ฒํผ์ ๋๋ฅด๋ ๊ฒ์ ์ด์ ์ปค๋ฐ ์ํ๋ถํฐ ํ์ฌ ์ํ๊น์ง์ ๋ณ๊ฒฝ ์ด๋ ฅ์ด ๊ธฐ๋ก๋ ์ปค๋ฐ(ํน์ ๋ฆฌ๋น์ )์ด ๋ง๋ค์ด์ง๋๋ค.
๊ฐ ์ปค๋ฐ์์๋ ์๋ฌธ ๋๋ ์ซ์๋ก ์ด๋ฃจ์ด์ง 40์๋ฆฌ ๊ณ ์ ์ด๋ฆ์ด ์์ฑ์ด ๋ฉ๋๋ค. ์ ์ฅ์์์ ์ด 40์๋ฆฌ์ ์ด๋ฆ์ ๋ณด๊ณ ๊ฐ ์ปค๋ฐ์ ๊ตฌ๋ถํฉ๋๋ค.
์ปค๋ฐ์ ์ด๋ ฅ์ ๋จ๊ธฐ๋ ์ค์ํ ์์ ์ด๋ฏ๋ก, ์ปค๋ฐ ๋ฒํผ์ ๋๋ฅผ๋๋ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค.
์์ ํธ๋ฆฌ์ ์ธ๋ฑ์ค
worktree ์ index๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ค์ํ ๊ฐ๋ ์ ๋๋ค.
Git์ด ์ปค๋ฐํ๋ ๊ฒ์ ์ค์ ๋ก ๋ณ๊ฒฝ ๋ด์ฉ์ ์ธ๋ฑ์ค์ ํ์ผ ์ํ๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ stage- ์คํ ์ด์งํ๋ค ๋ผ๊ณ ํํํฉ๋๋ค. ์ ์ฅ์์ ๋ฐ๋ก ๊ธฐ๋กํ๋ ๊ฒ์ด ์๋๊ณ , ๋ค์ ๋งํ๋ฉด, ์ธ๋ฑ์ค๋ผ๋ ๊ฐ์์ ๊ณต๊ฐ์ ๋ฃ๋ ๊ฒ์ ๋๋ค. ์ค๊ฐ์ ์๋ ๋๋ถ์ ์์ ํธ๋ฆฌ(๊ฐ์ฅ ๊ธฐ๋ณธ)์์ ์ปค๋ฐ์ด ํ์์๋ ํ์ผ๋ค์ ์ปค๋ฐ์ ํ์ง ์์ ์ ์๊ณ , ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธด ์ฌํญ๋ค ๊ฐ์ ๊ฒฝ์ฐ ์ธ๋ฑ์ค์ ๋ฑ๋กํด ์ปค๋ฐํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 5๊ฐ์ ํ์ผ์ ์์ ํ์ง๋ง 1๊ฐ๋ง ์ ์ฅ์์ ๊ณต๊ฐํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋ณ๊ฒฝํ 5๊ฐ ํ์ผ ์ค 1๊ฐ๋ฅผ ์ ํํ๋ ์์ ์ด ๋ฐ๋ก ์ธ๋ฑ์ค์ ๋ฑ๋กํ๋ค ๋๋ ์คํ ์ด์ง(stage) ํ๋ค๋ผ๊ณ ํํํฉ๋๋ค.
Merge - ๋ณํฉํ๊ธฐ
์ ๋ง ์ค์ํฉ๋๋ค. ๊ณต์ ์ ์ฅ์์์ ๊ฐ์ ธ์จ ํ์ผ์ด ์ต์ ์ด ์๋ ๊ฒฝ์ฐ, ์ฆ ๋ด๊ฐ pull ๊ฐ์ ธ์ค๊ณ ๋์ ๋ค๋ฅธ ์ฌ๋์ด push๋ฅผ ํ์ฌ ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ ๋ฐ์ดํธ ํด๋ฒ๋ฆฐ ๊ฒฝ์ฐ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด push ์์ฒญ์ด ๊ฑฐ๋ถ๋ฉ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ๋ณํฉ์ ํด์ผํ๋ค๊ณ ํฉ๋๋ค. ๋ค์ ๋งํด, ๋ค๋ฅธ ์ฌ๋์ ๋ณ๊ฒฝ์ด๋ ฅ ๋ด์ญ์ ์์ ์ ์ ์ฅ์์๋ ๊ฐฑ์ ํด์ผํฉ๋๋ค. ์ด๋ ๋ณํฉ(MERGE)๋ฅผ ํ์ง ์๋๋ค๋ฉด, ๋ค๋ฅธ ์ฌ๋์ด PUSH ํด๋์ ์์ ๋ฌผ(์ปค๋ฐํ ๋ด์ฉ)์ด ์ฌ๋ผ์ ธ ๋ฒ๋ฆฌ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
https://opentutorials.org/course/2708/15129
https://opentutorials.org/course/2708/15242
๋ฒ์ ๊ด๋ฆฌ์ ๋ณธ์ง - ์ํ์ฝ๋ฉ
์ ๋ ๊ธฐ์ ์๋ ๋ณธ์ง๊ณผ ํ์ ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ ๊ธฐ์ ์ ๋ชจ๋ ์ ํ์ด ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ํน์ฑ์ด ๋ณธ์ง์ด๊ณ , ํน์ ์ ํ์ด ๊ฐ์ง๊ณ ์จ ๋ณํ๊ฐ ํ์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ณธ ํ ํฝ์ ํ์์์
opentutorials.org
๊นํ๋ธ ์ด์ ๊ด๋ฆฌ
GitHub๋ก ํ๋ก์ ํธ ๊ด๋ฆฌํ๊ธฐ Part1 - ์ด์ ๋ฐ๊ธ ๋ถํฐ ์ฝ๋๋ฆฌ๋ทฐ๊น์ง | Popit
ํ๋ก์ ํธ ์๊ฐ Github๋ฅผ ์ด์ฉํด์ Project Management ํ๋ ๋ฐฉ๋ฒ ๋ฐ ์ ์ฒด์ ์ธ ํ๋ก์ธ์ค์ ๋ํด์ ์ ๋ฆฌํ์ต๋๋ค. issue ๊ด๋ฆฌ, ์ผ์ ๊ด๋ฆฌ, ์ฝ๋๋ฆฌ๋ทฐ, ๋ฒ๊ทธ ๋ฆฌํฌํธ ๋ฑ ๋ค์ํ ์ผ๋ค์ Github ํ๋์์ ๋ค ๊ด๋ฆฌํ
www.popit.kr
'๐๏ธ์ํํธ์จ์ด > ๐ปpython' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ์๋์ฐจ ํฌ๋กค๋ง (1) | 2021.11.28 |
---|---|
[python ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ]ํ์ด์ ํน์ ๋ฌธ์์ด ํ ์ญ์ (0) | 2021.11.28 |
[python] os ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒฝ๋ก ์ค์ - os.getcwd(), path (0) | 2021.11.26 |
jupyter_notebook_config.json error ์๋ฌ ์์ธ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2021.11.26 |
ํฌ๋กค๋ง ์ ๋ ๋ ๊ธฐ๋ฅ๋ค - ํฌ๋กค๋ฌ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (0) | 2021.11.26 |