Git (5) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [ GitHub Action ] GitHub Action์ ์ด์ฉํ์ฌ ํ๋ก์ ํธ CI/CD ์ธํ ํ๊ธฐ. GitHub Action GitHub Action์ ๋น๋์ ํ ์คํธ, ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์๋ํํ ์ ์๋ CI/CD(์ง์์ ์ธ ํตํฉ/์ง์์ ์ธ ๋ฐฐํฌ) ํ๋ซํผ์ผ๋ก, Git ์ ์ฅ์์์ ๋ฐ์ํ๋ ์ด๋ฒคํธ์ ๋ํ ์๋ํ๋ ์์ ์ ์ํํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ค. ์ด๋ฌํ ์์ ์ Git ์ ์ฅ์์ ์ํ ๋ณ๊ฒฝ, ์ ๋ธ๋์น ์์ฑ, ์ฝ๋ ํธ์, ์ด์ ๋ฑ๋ก, Pull Request ๋ฑ์ ๋์์ผ๋ก ํ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋ ํฌ์งํ ๋ฆฌ์ PR ๋๋ ์์ฉ ๋ฐฐํฌ๋ฅผ ์ํ merged PR ๋น๋์ ํ ์คํธ ์ํฌํ๋ก์ฐ๋ฅผ ์์ฑํ ์ ์๋ค. Git Action์ ์ฌ์ฉํ๋ฉด ์ ์ฅ์์์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์ง์ ๋ ์์ ์ด ์คํ๋์ด ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ์ฝ๋ ํธ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด, ์๋์ผ๋ก ์ฝ๋ ํ ์คํธ, ๋น๋ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํํ .. [ Git / ์ญ์ ๋ณต๊ตฌ ] ์ญ์ ํ ํ์ผ์ด๋ ํด๋๋ฅผ commit์ ์ถ๊ฐํ์ฌ push ํ๊ธฐ. ์ํฉ ์ค๋ช ์๋ฅผ ๋ค์ด feature ์์ ์ ์งํํ๋ ๋ธ๋์น A๊ฐ ์๋ค. ๋ธ๋์น A์์ example์ด๋ผ๋ ํ์ผ(๋๋ ํด๋)์ ์ญ์ ํ๋ค๊ณ ์น์. ๊ทธ๋ฆฌ๊ณ exampleํ์ผ์ ์ญ์ ์ ๋ํ ์ปค๋ฐ์ ํ๊ณ , ์๊ฒฉ ์ ์ฅ์์ push๋ฅผ ํ ๋ค, ๋ธ๋์นA์ ๊ธฐ๋ฅ์ ์ญ ๊ฐ๋ฐํ๊ณ ์ปค๋ฐํ์ฌ ์๊ฒฉ ์ ์ฅ์์ push๋ฅผ ํ์ฌ, exampleํ์ผ ์ญ์ ์ปค๋ฐ&push ์ดํ์๋ ๋ง์ ์ปค๋ฐ์ด ์ถ๊ฐ๋ ์ํ์์ ๋ธ๋์นA์ ์ด์ ์ ์ญ์ ํ๋ exmaple ํ์ผ์ด ํ์ํ์ฌ ์ญ์ ์ ๋ํ ๋ณต๊ตฌ๋ฅผ ์งํํด์ผ ํ๋ ์๋์ ์ด๋ฏธ์ง์ ๊ฐ์ ์ํฉ์ด๋ผ๊ณ ์๊ฐํด ๋ณด์. ์ด๋ฐ ์ํฉ์์ ์ด๋ป๊ฒ ์ญ์ ๋ exampleํ์ผ์ ๋ณต๊ตฌํ ์ ์์๊น? ์ด๋ด ๋ ๋งจ ๋ฐ์ ์์ ํ example ํ์ผ ์ญ์ ์ ๋ํ ์ปค๋ฐ์ ๋ํด revert๋ฅผ ์งํํ๋ฉด ๊ฐ๋จํ ํด๊ฒฐ๋๋ค. git log gi.. [ Git ] git revert ์ดํ์ master๋ธ๋์น์ merge ํ๊ธฐ. ์ด์งํ๊ณ ์ฒซ ์ฃผ์ ์์๋ ๋๋ ์ผ์ด ๋ฐ์ํ๋ค. ๊ฐ๋จํ๊ฒ PR ํ์ธ๋ง ํด์ฃผ๋ฉด ๋๋๊ฑฐ์๋๋ฐ.. ๋ณ ์๊ฐ์์ด ์ต๊ด์ฒ๋ผ ๋ด๊ฐ PR merge๋ฅผ ํด๋ฒ๋ ธ๋ค. ๊ทธ๋์ ๋ด๊ฐ PR merge๋ฅผ ํ๋ ์ปค๋ฐ์ ๋ํด revert๋ฅผ ์งํํ๋๋ฐ, revert์ดํ์ ๋ค์ master ๋ธ๋์น์ merge๋ฅผ ์งํํ๋ ค๊ณ ํ๋, ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ค๊ณ ๋์ค๋ฉด์ merge๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.......!!๐ ์ด์๋ ์๋์ ๊ฐ์ ์ํฉ. - ๊ธฐ์กด master branch๊ฐ ์๊ณ , feature branch๊ฐ ์กด์ฌ. - feature branch๋ฅผ master branch์ merge๋ฅผ ํจ. - merge๋ master branch๋ฅผ git revert ์งํํจ. - ์ดํ ๋ค์ feature branch๋ฅผ master branch์ merge ํ๋ ค๊ณ ์๋.. [ Git ] ๋ช ๋ น์ด๋ฅผ ํตํด ๋ธ๋์น git push ํ๊ธฐ ์์ ์๋ ์์คํธ๋ฆฌ๋ฅผ ํตํด ์ปค๋ฐ์ ํ๊ณ push๋ฅผ ์งํํ์ง๋ง, ์์คํธ๋ฆฌ ํ๊ธฐ๋ ํ์๋ ์ฆ๊ณ ๋ ์๊ฐ ์ ์ฝ์ ์ํด์ ๋๋ ๋ณดํต ์ปค๋ฐ๊ณผ push๋ฅผ ๋ช ๋ น์ด๋ก ์งํํ๋ค. ์ด์ ๋ ์ต๊ด์ฒ๋ผ ์ฌ์ฉํ๋ ์ ์ฉํ ๊น ๋ช ๋ น์ด์ ๋ํด ์์๋ณด๋ ค๊ณ ํ๋ค. ์ฐธ๊ณ git-scm.com 1. git status๋ฅผ ํตํด ํ์ฌ ์์ ์ํ๋ฅผ ํ์ธ git status ์ฐธ๊ณ $ git status git status๋ ์ธ๋ฑ์ค ํ์ผ๊ณผ ํ์ฌ HEAD ์ปค๋ฐ ์ฌ์ด์ ์ฐจ์ด๊ฐ ์๋ ๊ฒฝ๋ก ๋ฐ ์์ ํธ๋ฆฌ์ ๊ฒฝ๋ก๋ฅผ ํ์ํ๋ค. ์ฒซ ๋ฒ์งธ๋ git commit์ ์คํํ์ฌ ์ปค๋ฐํ ๋ด์ฉ์ด๊ณ , ๋ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ๋ git commit์ ์คํํ๊ธฐ ์ ์ ์ปค๋ฐํ์ง ์์ ๋ณ๊ฒฝ์ฌํญ ํ์ธํ ์ ์๋ค. 2. git์ ์ปค๋ฐํ ์ฌํญ ์ถ๊ฐ ์คํ ์ด์ง์ ์ฌ๋ฆด ๋ณ๊ฒฝ ์ฌํญ๋ค์ ์ง์ ํ๋ ๋จ๊ณ ์ด๋ค.. [ Git / pull ๋ฎ์ด์ฐ๊ธฐ ] ๋ก์ปฌ์ origin ๊ฐ์ ๋ฎ์ด์ฐ๊ธฐ. 1. ๋์ ๋ก์ปฌ์ pull ๋ฐ์ ์๊ฒฉ ๋ชฉ๋ก ์ ๋ฐ์ดํธ. $ git fetch --all 2. git reset --hard ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ์๊ฒฉ์์ pull ๋ฐ์ (๋ฎ์ด ์์ฐ๊ณ ์ถ์) ๋ธ๋์น ๋ช ์ ๋ ฅ. ( git reset ๋ช ๋ น์ด์๋ --soft, --mixed, --hard ์ต์ ์ด ์กด์ฌํ๋ค. --hard๋ ๊ฐ์ ๋ก reset ํ๋ ์ต์ .) $ git reset --hard origin/master // git reset --hard 3. git pull ๋๋ git status ๋ฅผ ํตํด ์ํ ํ์ธ. $ git pull $ git status ์ด์ 1 ๋ค์