-
[Git] Git๊ณผ Github, commitGit 2023. 6. 7. 00:43728x90
๐ถGti๊ณผ Github?
Git: ๋ด ๋ก์ปฌ ์ ์ฅ์์ ์์ค ์ฝ๋๋ฅผ ํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.Github : ๋ก์ปฌ์ด ์๋ ์๊ฒฉํ๊ฒฝ์ ์์ค์ฝ๋๋ฅผ ์ ์ฅํ ์ ์๋๋ก ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ ๊ณตํ๋ ์๋น์ค์ด๋ค.
โ ๊ตฌ๊ธ๋๋ผ์ด๋ฒ
git์์ ๊ด๋ฆฌํ๋ ์์ญ์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋ณธ๋ค.
1. ํ์ฌ ์์ ์ค์ธ Working Directory
2. commit ํ ํ์ผ์ ์๋น ์ ์ฅ์, ํน์ ์ถ์ ๋์ ํ์ผ์ ๊ณต๊ฐ์ธ Staging Area
3. ๊ฐ์ ์ ์ ์ปดํจํฐ์์ ๊ด๋ฆฌ๋๊ณ ์๋ ๋ก์ปฌ ์ ์ฅ์์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํด ์คํ๋ง๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ฉด ๋๋ ํ ๋ฆฌ์ ๊ฐ์ข ํ์ผ์ด ์์ฑ๋๋ค.
ํ๋ก์ ํธ๊ฐ ์์ฑ๋ ๋๋ ํ ๋ฆฌ์ git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๊ฒ ๋ค๋ ์ด๊ธฐํ ์์ ์ ํด์ฃผ๋ฉด ๊ทธ๊ฒ Working Directory๊ฐ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋์ผ๋ก ํ์ธํ ์ ์๋ ์ ์ฅ๊ณต๊ฐ์ด ๋ฐ๋ก Working Directory์ด๋ฉฐ, ํ์ฌ ํ๋ก์ ํธ๊ฐ ๋ด๊ธด ๋๋ ํ ๋ฆฌ๋ผ๊ณ ์๊ฐํด๋ ๋ฌด๋ฐฉํ๋ค.
Github๋ ๋ก์ปฌ ์ ์ฅ์์ commitํ ๋ด์ฉ์ ๋ค๋ฅธ ๋๋ฐ์ด์ค๋ ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ก์ปฌ ์ ์ฅ์์ ๋ด์ฉ์ push๋ผ๋ ์ก์ ์ผ๋ก ์ ๋ฌ๋ฐ์์ ์ ์ฅํ๊ฒ ๋๋ค.
๋ก์ปฌ ํ๊ฒฝ์ด ์๋ ์๊ฒฉ์ง์ ์์นํ git ์ ์ฅ์๋ฅผ Remote Rapoditory, ์๊ฒฉ์ ์ฅ์๋ผ๊ณ ํ๋ค.
๐ถ Git์ ์ฌ์ฉํ๋ ๋ชฉ์
1) ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค
- ๊ฐ ๋ฒ์ ๋ณ๋ก ์์ค์ ์ด๋ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์๋์ง, ๋ชจ๋ ํ์คํ ๋ฆฌ๊ฐ ๋จ์์๊ธฐ ๋๋ฌธ์ ์ ๊ท๊ธฐ๋ฅ์ ์ด๋ํ์ผ์ ๊ตฌ์ฑ๋์ด ์๋์ง ํ์ ํ๊ธฐ ์ฉ์ดํ๋ค.
- commit์ด๋ผ๋ ์ก์ ๋จ์๋ก ๋ณ๋์ฌํญ์ ๋ํ ์ค๋ ์ท์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์คํ ๋ฆฌ ๊ด๋ฆฌ์ ์ฉ์ดํ๋ค.
2) ์์ ๋จ์๋ฅผ ์ธ๋ถํ ํ ์ ์๋ค.
ํน์ ๊ธฐ๋ฅ์ ์์ฑํ๊ณ ๊ทธ ๋ฐ์์ฌํญ์ commitํ๊ฒ ๋๋ฉด, ๋ฐ์ ์ ํ๋ก ์๋น์ค ๋์์ ์ด๋ค ์ํฅ์ ๋ผ์น๋์ง ์ฝ๊ฒ ํ์ธํ ์ ์๋ค.
์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ณต๊ตฌ์ํค๋๊ฒ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
3) ํ๋์ ํ๋ก์ ํธ์์ ํ์ ์ ์ ์ฉํจ
๋์ผํ ํ๋ก์ ํธ๋ผ๋ ๊ตฌํํ๋ ๊ธฐ๋ฅ๋จ์์ ๋ฐ๋ผ ๊ฐ๋ฐ์๊ฐ ๋ค๋ฅผ ์ ์์.
๋์ผํ ํ์ผ์ด ์๋ branch๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ์ ์ผ๋ก ๊ตฌํํ๊ณ ๋์ค์ ํ๋๋ก ํฉ์น ๋ ์ถฉ๋ํ๋ ํ์งํด์ ์๋ ค์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋ค.
๐ถ ๋ฒ์ ๊ด๋ฆฌ์ commit
commit ์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅํ๋ค๋ ์ ์์ ํ์ผ์ ์ ์ฅํ๋๊ฒ๊ณผ ์ ์ฌํ๋ค.
Git ์์๋ '๋๊ฐ, ์ธ์ , ํ์ฌ ํ๋ก์ ํธ์ ์ํ๊ฐ ์ด๋ค์ง(ํ์ฌ ํ์ผ ๋ด์ฉ๋ค)' ์ธ ๊ฐ์ง ์ ๋ณด๋ฅผ ํฌํจํด ์์ ๋ด์ญ์ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฒ ํ์ฌ ํ๋ก์ ํธ ์ํ๋ฅผ ์ ์ฅํ ๊ฒ์ commit(์ปค๋ฐ) ์ด๋ผ๊ณ ํํํ๋ค.
๋ค๋ง ์ปค๋ฐ์ ๊ฒฝ์ฐ ์ ์ฅํ ๋๋ง๋ค ๋ณ๊ฒฝ ์ด์ ์ ์ํ๊ฐ ์ ์ค๋์ง ์๊ณ ์ ์ง๋๋ค๋ ์ ์ด๋ค.
commit์ ๋๊ฐ, ์ธ์ , ์ด๋ ํ์ผ์ ์ด๋ ๋ถ๋ถ์ ๋ณ๊ฒฝํ๋์ง ๋ชจ๋ ๋ฐ์๋๊ณ commit์ ์งํํ ๋๋ ์ด๋ค ์์ ์ ํ ๊ฒ์ธ์ง commit ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋์ ์์ฑํด์ค์ผ ํ๋ค.
์ ๋ฆฌํ๊ธฐ
- ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ค๋ ๊ฒ์ ํ๋ก์ ํธ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ์ ๋ณด๋ฅผ ์๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค.
- Git ์ commit ์ ์ฌ์ฉํด์ ๋ฒ์ ์ด ๋ฌ๋ผ์ง๋ ๊ฒ์ ๊ด๋ฆฌํฉ๋๋ค.
- ์ปดํจํฐ์ ์๋ ํ๋ก์ ํธ๋ฅผ Git ์ด ๊ด๋ฆฌํ๋ ํ๋ก์ ํธ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ์์ผ๋ก Git ์ผ๋ก ๊ด๋ฆฌํ ๊บผ์ผ! ํ๊ณ ์ค์ ํด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ด ์์ ์ **git ์ด๊ธฐํ(git initialize)**ํ๋ค๊ณ ํํํฉ๋๋ค.
- ํ์ฌ ํ๋ก์ ํธ์ ์ํ๋ฅผ ์ฐฐ์นต ๐ธ ์ ์ฅํ๋ ๊ฒ์ commit ์ด๋ผ๊ณ ํฉ๋๋ค.
- commit ์๋ ์๋๋ฅผ ํฌํจํฉ๋๋ค.
- ๋๊ฐ(author), ์ธ์ commit ํ๋์ง์ ์ ๋ณด์ ํ๋ก์ ํธ ๋ณ๊ฒฝ ๋ด์ฉ
- ์์ ๋ด์ญ์ด ์ด๋ค ๊ฒ์ธ์ง ์์๋ณผ ์ ์๊ฒ ์ ๋ ๋ฉ์์ง๋ฅผ 'commit ๋ฉ์์ง'๋ผ๊ณ ํฉ๋๋ค.
- commit ์ ๋ฐ์ํ ์ง ์ํ ์ง๋ ํ์ผ ๋จ์๋ก ์ ํํ ์ ์์ต๋๋ค. commit ์ ๋ฐ์ํ ํ์ผ์ ์ ํํ๋ ๊ฒ์ add (ํน์ staging, ์คํ ์ด์ง) ์ด๋ผ๊ณ ํฉ๋๋ค.
- commit ํ ๊ธฐ๋ก์ history ๋ก ๋ณผ ์ ์์ต๋๋ค.
- ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ํ ์์
์ 'git ์ด๊ธฐํํ๊ธฐ(initialize) - add(staging) - commit' ์
๋๋ค.
- git ์ด๊ธฐํ๋ ์ฒ์์ ๋จ ํ๋ฒ๋ง ํด ์ฃผ๋ฉด ๋ฉ๋๋ค. ์์ ๋ด์ญ์ ์ ์ฅํ๊ธฐ ์ํด์๋ add - commit ๋ง ํ๋ฉด ๋ฉ๋๋ค.
728x90'Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git] ์๊ฒฉ repo์ .gitignore (0) 2023.06.07