Basic
HELP
๋ช ๋ น์ด์ ๋ํ ์ค๋ช ์ ์์ธํ ๋ณผ ์ ์๋ค.
๊ธฐ๋ณธ์ค์
git์ ๊ธฐ๋ณธ์ค์ ์ ๋ณ๊ฒฝํ ์ ์๋ค.
๊ฐ๊ฐ์ ๋ฒ์ ์ ๋๊ฐ ๋ง๋ ๊ฒ์ธ์ง ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผํ๋๋ฐ ์์ ๊ฐ์ด username๊ณผ email์ ์ค์ ํ ์ ์๋ค. (railsinstaller
์ค์น ํ ์ฒ์ ์
๋ ฅํ ์ ๋ณด!)
์๋ก์ด ์ ์ฅ์ ๋ง๋ค๊ธฐ
๋ชจ๋ ๊ฒ์ init์ผ๋ก ๋ถํฐ ์์๋๋ค.
git init
์ ํ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ๊ฐ ๋ฒ์ ๊ด๋ฆฌ์ ์ ์ฅ์๊ฐ ๋์๋ค๋ ์๋ฏธ์ด๋ค.ls -al
์ ํ๋ฉด.git
directory(ํด๋)๊ฐ ์๊ธด ๊ฒ์ ๋ณผ ์ ์๋ค..git
ํด๋ ์์์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
์ํํ์ธํ๊ธฐ
untracked files:์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๋์ง์๊ณ ์๋ ํ์ผ๋ก์ ์๋ก ์ถ๊ฐ, ์์ , ์ญ์ ์ฆ ๋ณ๊ฒฝ๋ ํ์ผ์ด๋ค. ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๋์ง์๊ณ ์๋ ํ์ผ,ํด๋๋ ๋ถ์์์ผ๋ก ํ์ ๋๋ค.
new file:์ ๋ฒ์ ๊ด๋ฆฌ์ ์๋ก ์ถ๊ฐ๋ ํ์ผ์ด๋ฉฐ, ์ด๋ก์์ผ๋ก ํ์๋๋ค.(
git add
๋ช ๋ น์ด๋ฅผ ํตํด ์ถ๊ฐ)
์ถ๊ฐ
๋ฒ์ ๊ด๋ฆฌ ๋ชฉ๋ก์ ์ถ๊ฐํด ์ฃผ๋ ๊ฒ์ด๋ค.
git add .
์ ๋ณ๊ฒฝ๋ ๋ชจ๋ ์ฌํญ์ ์ถ๊ฐํ๋ค๋ ์๋ฏธadd
๋ช ๋ น์ด ํgit status
๋ฅผ ํด๋ณด๋ฉด changed to be Committed: ํ์ผ์ด ๋ฒ์ ๊ด๋ฆฌ ๋๊ณ ์๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
ํ์
์ด๋๊น์ง ๋ณ๊ฒฝ๋ ๊ฒ์ ํ์ ํ๋ ๊ฒ์ด๋ค. ""
์์๋ ๋ฒ์ ์ ๋ํ ์ค๋ช
์ ๊ฐ๋จํ ์ ์ด์ค๋ค.
์ถ๊ฐ์ ์ธ ์ค๋ช ์ ์์ธํ๊ฒ ์ ์ ์ ์๋ค.
์๋ฒ์ ์ฌ๋ฆฌ๊ธฐ
ํ์ฌ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์์ง ๋ก์ปฌ ์ ์ฅ์์ HEAD ์์ ๋จธ๋ฌผ๊ณ ์๋ค. push๋ช ๋ น์ด ์ดํ์ ๋ณ๊ฒฝ๋ด์ฉ์ด ์๋ฒ์ ์ ์ฉ๋๋ค.
master ๋ธ๋์น๋ฅผ origin ์๋ฒ์ ์ฌ๋ฆฌ๋ ค๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด๋๋ค.
์ ์ฅ์ ๋ฐ์์ค๊ธฐ
ํน์ ๋ธ๋์น๋ก ์ ์ฅ์๋ฅผ ๋ฐ์์ค๊ณ ์ถ์ผ๋ฉด ์๋์ ๊ฐ์ด ์ต์ ์ ์ฃผ๋ฉด ๋๋ค.
์ทจ์
Reset์ ์ ํํ ๋ฒ์ ์ ์ํ๋ก ๋์๊ฐ๋ ๊ฒ, ๋ฒ์ ์ ์ง์๋ฒ๋ฆผ
Revert๋ ์ ํํ ๋ฒ์ ์ ์ทจ์ํด์ ๊ทธ ์ด์ ์ํ๋ก ๋๋ฆฌ๋๊ฒ
revert
์ reverse
๋ฅผ ํ ๋๋ ํญ์ ์ฃผ์ํด์ผํ๋ค.
Branch ์์ฑํ๊ธฐ
branch๋ ์์ ํ๊ฒ ๊ฒฉ๋ฆฌ๋ ์ํ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ.
์ ์ฅ์๋ฅผ ์๋ก ๋ง๋ค๋ฉด master branch(default)๊ฐ ๊ธฐ๋ณธ์ด๋ค.
์คํ์ ์ธ ์์ ์ ํด์ผํ๋๊ฒฝ์ฐ๋ ํ์ ์ ํ ๋ ์ฌ์ฉ. exp branch๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. *๋ถ์ ๊ฒ์ด ํ์ฌ branch
์ด์ commit์ผ๋ก branch๋ฅผ ์์ฑ
ํด๋น commit์์ ๋ธ๋์น๊ฐ ์์ฑ๋๋ค.
git log์ ๋ํด ์์๋ณด๊ธฐ
ํ์ฌ Branch๋ณ๊ฒฝ
ํ์ฌ branch๊ฐ *exp๋ก ๋ฐ๋๊ฒ์ ํ์ธ ํ ์ ์๋ค.
remote์ ์๋ branch๋ฅผ ๊ฐ์ ธ์ ๋ก์ปฌ์ ๋์ผํ ์ด๋ฆ์ ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด์ ํด๋น branch๋ก checkoutํ๋ ์ต์ ์ด๋ค.
Branch ์์ฑ๊ณผ ๋์์ ๋ณ๊ฒฝํ๊ธฐ
๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ(fetch)
fetch๋ ๋จ์ํ ์๊ฒฉ ์ ์ฅ์์ ๋ด์ฉ์ ํ์ธ๋ง ํ๊ณ ๋ก์ปฌ ๋ฐ์ดํฐ์ ๋ณํฉ์ ํ๊ณ ์ถ์ง ์์ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
์ฆ, local์๋ ์์ง๋ง remote ์ ์ฅ์์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
Branch ๋ณํฉ
branch๋ฅผ ์ด์ฉํด ๋ณํฉ์ ํ๋ฉด git์ด ์๋์ผ๋ก commit์ ํด์ค๋ค.
Merge --squash
๋ณํฉํ branch์ ๋ชจ๋ commit์ ํ๋๋ก ํฉ์น๊ณ ์ถ์๋ --squash
์ต์
์ ์ง์ ํ๋ฉด๋๋ค.
๊ฐฑ์ (pull)
์๊ฒฉ ์ ์ฅ์์ ๋ณ๊ฒฝ ๋ด์ฉ์ด ๋ก์ปฌ ์์ ๋๋ ํ ๋ฆฌ์ ๋ฐ์์ง๊ณ (fetch), ๋ณํฉ(merge)๋๋ค.
์ถฉ๋(conflict)
๋ง์ฝ์ ์ฌ๋ฌ๊ฐ์ branch๊ฐ ์๋ก ๊ฐ์ ๊ฒ์ ์์ ํ ๊ฒฝ์ฐ์ ๊น์ ์ถฉ๋์ ๋ํ๋ด๊ณ ์ฐ๋ฆฌ๊ฐ ์์ ํ ์ ์๋๋ก ํ์ํด์ค๋ค.
ํ์
์ด๋ ํ ์์
์ ํ๊ธฐ์ ์ pull์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข๋ค! pull
->working->commit
->pull
->push
stash
์์ง commitํ์ง ์์ ๋ฒ์ ์ ์์๋ก ์ ์ฅํ๋ ๊ฒ! stash๋ฅผ ํ๋ฉด ์์๋ก ์ ์ฅ๋ ํ ๋ง์ง๋ง ๋ฒ์ ์ํ๋ก ๋์๊ฐ๊ณ ์ญ์ ๋๋ค.
tag(github์์ releases)
์ค๋ช ํด์ฃผ๋ ๊ฒ! ๊ณผ๊ฑฐ์ ํน์ ํ ๋ฒ์ ์ ๋ํด์๋ ํ๊ทธ๋ฅผ ๋ถ์ผ ์ ์๋ค.
ignore
.gitignore
ํ์ผ์ ํ์ผ์ ์ถ๊ฐํ๋ฉด git์ด ์๋๊ฑธ๋ก ๊ฐ์ฃผํ ๋์์ด ๋๋ค.(github์ ์ฌ๋ฆด๋๋ ์์ฌ๋ผ๊ฐ!) ignore์ ํฌํจ๋์ด์ผํ ๋ชฉ๋ก
์ด ๋ ์ค์ํ id, ๋น๋ฐ๋ฒํธ, key๊ฐ์ด ์ค์ ๋ ํ์ผ์ ๋ฐ๋ก ์ ์ฅํ ํ .gitignore
์ ์ถ๊ฐํด ์๊ฒฉ์ ์ฅ์์ ์ฌ๋ฆฌ์ง ์๋๋ค.
์ฐธ๊ณ
Last updated