Git-1
Git, GitHub ์ด๋ก , ๋ช ๋ น์ด
Git ์ ์
- Git์ ๋ค์๊ณผ ๊ฐ์ด ํ์ผ์ ๋ถ์ฐํ์ฌ ๊ด๋ฆฌํ๋ ์์คํ ์ด๋ค.
- Main Server Repo์์ Local Repo๋ก ๊ฐ์ ธ์์ ๋ก์ปฌ ๋ด์์ ์์ ํ, server์ ์ฌ๋ฆฌ๋ ๋ฐฉ์์ด๋ค.
Git repo ์ด์ฉ๋ฒ / ๊ธฐ๋ณธ ๋ช ๋ น์ด (by Git Bash)
๋ก์ปฌ ๋ ํฌ ์ด์ฉ ๋ฐฉ๋ฒ
- ๋ก์ปฌ์์ git ํด๋๋ฅผ ๋ง๋ค์ด ์ ์ฅํ ์ ์๊ฒ๋ ํ๋ค.
git init // .git ๋ก์ปฌ ์ ์ฅ์ ๋ง๋ค๊ธฐ,
//์๋ฒ์์ ๊ฐ์ ธ์์ Local์์ ์ด์ฉํ ์ ์๋ repo๋ฅผ ๋ง๋ ๋ค.
// ์๋ฒ์ ์ฐ๊ฒฐ ์๋ ์ํ์์ ์์๋ก ์ค์ ๊ฐ๋ฅ
git status // ๋ณ๊ฒฝ ์ํ ์ฒดํฌ, ํ์ผ์ด ๋ณ๊ฒฝ๋๋์ง? commit์ด ๋๋์ง?
git add [file name]] // ํ์ผ ์ถ๊ฐ ( . ์ ๋ชจ๋ ํ์ผ ์ถ๊ฐ ), ์ปค๋ฐํ ํ์ผ๋ค์ ์ถ๊ฐ ํด์ค๋ค.
git commit -m message // ์ปค๋ฐ + ๋ฉ์ธ์ง, Local Repo ์ฌ๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
๋ก์ปฌ ๋ ํฌ์์ branch ์ด์ฉ ๋ฐฉ๋ฒ
- Local ๋ด์์ ํ์ ์ด๋ ํผ์ ์์ ํ ๋, ๊ธฐ์กด ์๋ณธ์ ์์ ํ์ง ์๊ณ ๋ธ๋์น๋ฅผ ์ด์ฉํด์ ์ปค๋ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- Local ๋ด์์ ์ฌ๋ณธ์ ๋ง๋ค์ด ์์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
git branch ์ด๋ฆ // main์์ ๋๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ์ง ๋๋ค๋ฅธ branch๋ฅผ ๋ง๋ ๋ค.
git checkout [branch name] // ๋ค๋ฅธ branch๋ก ์ด๋ํ๋ค.
-- ์์
์คํ โ
git status // ๋ณ๊ฒฝ ์ํ ์ฒดํฌ, ํ์ผ์ด ๋ณ๊ฒฝ๋๋์ง? commit์ด ๋๋์ง?
git add ํ์ผ๋ช
// ํ์ผ ์ถ๊ฐ ( . ์ ๋ชจ๋ ํ์ผ ์ถ๊ฐ )
git commit -m message // ์ปค๋ฐ + ๋ฉ์ธ์ง, Local Repo ์ฌ๋ ค์ค๋ค.
git branch main // main branch๋ก ๋ค์ ๋์๊ฐ๋ค.
git merge [branch name] // main์์ merge๋ฅผ ํ๋ค.
--> ์ถฉ๋์ด ๋ ๊ฒฝ์ฐ? : Master์ Test Branch ๋ ๋ธ๋์น ๋ชจ๋ ๊ฐ์ ๊ณณ์์ ์์ ์ ํ๋ค๋ฉด ์ถฉ๋์ด ์ผ์ด๋๋ค.
์ด ์ถฉ๋์ด ๋ ๊ฒฝ์ฐ, ์ง์ ์์ ํด์ฃผ๊ณ ๋ค์
git add ํ์ผ๋ช
// ํ์ผ ์ถ๊ฐ ( . ์ ๋ชจ๋ ํ์ผ ์ถ๊ฐ )
git commit -m // ์ปค๋ฐ + ๋ฉ์ธ์ง, Local Repo ์ฌ๋ ค์ค๋ค.
์๊ฒฉ ์ ์ฅ์ ์์ฑ (Github)
-
์์ ์ค๋ช ๊น์ง๋ โgitโ๋ด์์ ํ ์ ์๋ ๋ช ๋ น์ด๋ค์ ํฌ์คํ ํ๋ค.
์ด์ ๋ โ์๊ฒฉ ์ ์ฅ์โ ์ โ๋ก์ปฌ ์ ์ฅ์โ๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋งํ ๊ฒ์ด๋ค. - ์ฐ๋ฆฌ๋ ์ฐ๊ฒฐ์ ํตํด์,
- ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์๋ ์์
์ .git์ด๋ผ๋ ๋ก์ปฌ ์ ์ฅ์์ ์ ์ฅํ๋ค๋ฉด
main ์๋ฒ์ธ ์๊ฒฉ(remote)์ ์ฅ์์ ๋ก์ปฌ์์์ ์์ ๋ ํ์ผ์ ์ฌ๋ฆด ์ ์๋ค. - ๋ฐ๋๋ก ์๊ฒฉ์ ์ฅ์์ ์ ์ฅํ๋ ๋ฒ์ ์ ๋ก์ปฌ๋ก ๋ค์ด ๋ฐ์ ์์ ์ด ๊ฐ๋ฅํ๋ค.
- ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์๋ ์์
์ .git์ด๋ผ๋ ๋ก์ปฌ ์ ์ฅ์์ ์ ์ฅํ๋ค๋ฉด
- ์ด ์๊ฒฉ ์ ์ฅ์(Main Server Repository)๊ฐ GitHub์ด๋ค. ์ฐ๊ฒฐ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง๋ค.
- ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ .git ํด๋๋ฅผ ๋ง๋ ์ํ์์ ์๊ฒฉ์์ ๋ง๋ค์ด์ง repository์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด๋ค.
git init // .git ํด๋๋ฅผ ๋ง๋ค๊ธฐ
git remote add origin address // repository ์ฃผ์ ์
๋ ฅ ํ, repository์ ์ฐ๊ฒฐ
git pull origin main(or master) // github repository์ ์๋ ๋ด์ฉ๋ค ๋์ด์ค๊ธฐ
-- ์์
์งํ โ
git status // ๋ณ๊ฒฝ ์ํ ์ฒดํฌ, ํ์ผ์ด ๋ณ๊ฒฝ๋๋์ง? commit์ด ๋๋์ง?
git add ํ์ผ๋ช
// ํ์ผ ์ถ๊ฐ ( . ์ ๋ชจ๋ ํ์ผ ์ถ๊ฐ )
git commit -m message // ์ปค๋ฐ + ๋ฉ์ธ์ง, Local Repo ์ฌ๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
git push -u origin main // ๋ง์ง๋ง์ผ๋ก โmainโ ์๋ฒ์ ๋ฃ์ด์ค๋ค.
- ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ์๊ฒฉ ์ ์ฅ์์์ ํด๋ก ์ ํด์ ๋ด ๋ก์ปฌ์ ๋์ด์ค๋ ๋ฐฉ๋ฒ์ด๋ค.
(git init์ด ํ์์๋ค.)
git clone ์ฃผ์ // ์ํ๋ ๋ก์ปฌ ํด๋์์
// Remote repository์ ์ฃผ์๋ฅผ ์ด์ฉํด์ ๋ก์ปฌ์ ๋ณต์ ํ๋ค.
-- ์์
์งํ โ
git status // ๋ณ๊ฒฝ ์ํ ์ฒดํฌ, ํ์ผ์ด ๋ณ๊ฒฝ๋๋์ง? commit์ด ๋๋์ง?
git add ํ์ผ๋ช
// ํ์ผ ์ถ๊ฐ ( . ์ ๋ชจ๋ ํ์ผ ์ถ๊ฐ )
git commit -m message // ์ปค๋ฐ + ๋ฉ์ธ์ง, Local Repo ์ฌ๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
git push -u origin main // ๋ง์ง๋ง์ผ๋ก โmainโ ์๋ฒ์ ๋ฃ์ด์ค๋ค.
Git-2 ์ด์ด์โฆ