ALOHA CLASS
/
CI/CD
/
Git
Search
Share
Git x Github ์ค์ต
Github ์๊ฒฉ ์ ์ฅ์ ๋ง๋ค๊ธฐ
Github ํ์ ์ด๋ํ๊ธฐ
Git Clone
git Clone
Git Clone
branch ์์ฑ ๋ฐ ๋ฐ์
๊ฐ๊ฐ์ ๋ธ๋์น๋ ๋ค๋ฅธ ๋ธ๋์น์ ์ํฅ์ ๋ฐ์ง ์๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ ์์ ์ ๋์์ ์งํํ ์ ์์ต๋๋ค.
์์ ์ด ์๋ฃ๋๋ฉด ๋ฉ์ธ ๋ธ๋์น์ ๋ณ๊ฒฝ์ฌํญ์ ๋ณํฉํ์ฌ ์์ ์ ์๋ฃํ ์ ์์ต๋๋ค.
branch ์์ฑ ๋ฐ ์ ํ
branch
switch
checkout
Git Commit
Git Commit
commit
Git Push
commit๋ ๋ณ๊ฒฝ ์ฌํญ์ GitHub์ ๊ฐ์ ์๊ฒฉ ์ ์ฅ์์ ๋๊ธฐํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Git Push
push
Git Pull
๊ธฐ๋ณธ ๋ช ๋ น์ด
Git Pull
pull
Git fetch
Git fetch๋ ์๊ฒฉ ์ ์ฅ์์ ์๋ก์ด ๋ธ๋์น์ ๊ทธ ๋ณ๊ฒฝ์ฌํญ๋ ๊ฐ์ ธ์ต๋๋ค. ๋ก์ปฌ์ ์๋ ์ ๋ธ๋์น๊ฐ ์๊ฒฉ์ ์๋ค๋ฉด, ์๊ฒฉ ๋ธ๋์น๋ก ๊ฐ์ ธ์ค๊ฒ ๋ฉ๋๋ค.
์๊ฒฉ์ ์ ๋ธ๋์น๊ฐ ๋ก์ปฌ์ ๋ฐ์๋จ
Git fetch
fetch
๋ก์ปฌ ๋ธ๋์น๊ฐ ์๊ฒฉ ๋ธ๋์น๋ฅผ ์ถ์ ํ๋๋ก ์ค์ ํ์ฌ, ์ดํ
git push
๋
git pull
๋ช ๋ น์ด๋ฅผ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ๋ช ๋ น์ด
์์:
Git Branch
branch
Git Merge
์๋ก ๋ค๋ฅธ ๋ธ๋์น๋ฅผ ํ๋๋ก ํตํฉํ๋ Git์ ํต์ฌ ๋ช ๋ น์ด๋ก, ๋ธ๋์น ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋์ ๋ธ๋์น๋ก ๊ฒฐํฉํฉ๋๋ค.
Git Merge ๋ช ๋ น์ด
Git Merge
merge
Git Conflict(์ถฉ๋)์ด๋?
Git Conflict & ์ถฉ๋ ํด๊ฒฐ
conflict
Git Pull Request
ํนํ ํ์ ํ๊ฒฝ์์ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๋ณํฉ ๊ณผ์ ์ ์๊ฐ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ค๋๋ค.
Git Pull Request
pull request
PR
GitHub Fork๋?
Git fork
fork
Git Amend
Git Amend๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ปค๋ฐ์ ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก, ์ปค๋ฐ ๋ฉ์์ง๋ ํ์ผ ๋ด์ฉ์ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํฉ๋๋ค.
Amend๋?
Amend๋ "์์ ํ๋ค"๋ผ๋ ๋ป์ผ๋ก, Git์์๋ ๋ง์ง๋ง ์ปค๋ฐ์ ๋ค์ ์์ฑํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋ก์ด ์ปค๋ฐ์ ๋ง๋๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ์กด ์ปค๋ฐ์ ๋ฎ์ด์ฐ๋ ๋ฐฉ์์ ๋๋ค.
Git Amend ๋ช ๋ น์ด
Git amend
commit
Git Cherry-pick
Git Cherry-pick์
ํน์ ์ปค๋ฐ์ ์ ํํ์ฌ ํ์ฌ ๋ธ๋์น์ ์ ์ฉ
ํ๋ ๊ธฐ๋ฅ์ผ๋ก, ๋ค๋ฅธ ๋ธ๋์น์ ํน์ ๋ณ๊ฒฝ์ฌํญ๋ง ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
Cherry-pick์ด๋?
Cherry-pick์ ๋ง ๊ทธ๋๋ก "์ฒด๋ฆฌ๋ฅผ ๊ณจ๋ผ ๋จน๋๋ค"๋ ์๋ฏธ๋ก, ๋ค๋ฅธ ๋ธ๋์น์ ์๋ ์ฌ๋ฌ ์ปค๋ฐ ์ค์์ ์ํ๋ ์ปค๋ฐ๋ง ์ ํํด์ ํ์ฌ ๋ธ๋์น์ ์ ์ฉํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
Git Cherry-pick ๋ช ๋ น์ด
Git cherry-pick
cherry-pick
Git Reset
Git Reset์
์ปค๋ฐ ํ์คํ ๋ฆฌ๋ฅผ ๋๋๋ฆฌ๊ณ ์์ ๋๋ ํ ๋ฆฌ์ ์ํ๋ฅผ ๋ณ๊ฒฝ
ํ๋ ๋ช ๋ น์ด๋ก, HEAD ํฌ์ธํฐ๋ฅผ ์ด์ ์ปค๋ฐ์ผ๋ก ์ด๋์์ผ ๋ณ๊ฒฝ์ฌํญ์ ๊ด๋ฆฌํฉ๋๋ค.
Git reset
reset
Git Revert
Git Revert๋
์ด์ ์ปค๋ฐ์ ์ทจ์ํ๊ณ ๋๋๋ฆฌ๋ ๋ช ๋ น์ด
๋ก, ์์ ๋ด์ญ์ ์ ์งํ๋ฉด์ ์์ ํ๊ฒ ๋ณ๊ฒฝ์ฌํญ์ ๋๋๋ฆด ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.
Git Revert ๋ช ๋ น์ด
Git revert
revert
Git Stash
Git Stash๋
ํ์ฌ ์์ ์ค์ธ ๋ณ๊ฒฝ์ฌํญ์ ์์๋ก ์ ์ฅํ๊ณ
๋์ค์ ๋ค์ ์ ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ๋ฉด์
๋ค๋ฅธ ๋ธ๋์น๋ก ์ ํํ๊ฑฐ๋ ๊ธด๊ธํ ์์ ์ ์ฒ๋ฆฌํ ๋ ์ ์ฉ
ํฉ๋๋ค.
Stash๋?
Stash๋ ํ์ฌ ์์ ์ค์ธ ๋ณ๊ฒฝ์ฌํญ(์์ ๋ ํ์ผ, ์คํ ์ด์ง๋ ํ์ผ)์ ์์ ์ ์ฅ์์ ๋ณด๊ดํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ฅผ ํตํด ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ง๋ง ์ปค๋ฐ ์ํ๋ก ๋๋๋ฆด ์ ์์ผ๋ฉฐ, ๋์ค์ ์ ์ฅํ ๋ณ๊ฒฝ์ฌํญ์ ๋ค์ ๋ถ๋ฌ์ ์์ ์ ๊ณ์ํ ์ ์์ต๋๋ค.
Git statsh
stash
Git Release
Git Release๋ ์ํํธ์จ์ด์ ํน์ ๋ฒ์ ์ ๊ณต์์ ์ผ๋ก ๋ฐฐํฌํ๋ ๊ณผ์ ์ผ๋ก, ์์ ์ ์ธ ์ฝ๋ ์ค๋ ์ท์ ํ๊ทธ๋ก ํ์ํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ํต์ฌ ๊ธฐ๋ฅ์ ๋๋ค.
๋ฆด๋ฆฌ์ค(Release)๋?
๋ฆด๋ฆฌ์ค๋ ๊ฐ๋ฐ๋ ์ํํธ์จ์ด์ ํน์ ๋ฒ์ ์ ์ฌ์ฉ์์๊ฒ ๊ณต์์ ์ผ๋ก ๋ฐฐํฌํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. Git์์๋ ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์ปค๋ฐ์ ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ผ๋ก ํ์ํ๊ณ , ์ด๋ฅผ ํตํด ์์ ์ ์ธ ๋ฒ์ ์ ๊ด๋ฆฌํฉ๋๋ค. โข ๋ฆด๋ฆฌ์ค๋ ์ฃผ๋ก ์๋งจํฑ ๋ฒ์ ๋(Semantic Versioning)์ ๋ฐ๋ผ v1.0.0, v2.1.3๊ณผ ๊ฐ์ ํ์์ผ๋ก ๋ช ๋ช ๋ฉ๋๋ค. โข ๊ฐ ๋ฆด๋ฆฌ์ค๋ ๋ณ๊ฒฝ ์ฌํญ, ๋ฒ๊ทธ ์์ , ์๋ก์ด ๊ธฐ๋ฅ ๋ฑ์ ํฌํจํ ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. โข GitHub, GitLab ๋ฑ์ ํ๋ซํผ์์๋ ๋ฆด๋ฆฌ์ค ํ์ด์ง๋ฅผ ํตํด ์์ค ์ฝ๋, ๋ฐ์ด๋๋ฆฌ ํ์ผ ๋ฑ์ ๋ค์ด๋ก๋ํ ์ ์๊ฒ ์ ๊ณตํฉ๋๋ค.
Git Release ๋ช ๋ น์ด
๊ธฐ๋ณธ ๋ช ๋ น์ด
Git Release
tag