Git and Github
git config
git config --global "user.name"
git config --global "user.email"
git config --list
cmd
cd
: change directorydir
Windows /ls
Macq
: exit git log
git
git init
: .git ํด๋ ์์ฑ, ํด๋น ํด๋ ๋ด๋ถ์ ํด๋์ ํ์ผ๋ค์ ํ์๊ด๋ฆฌ ํ๊ฒ ๋ค๋ ์ ์ธgit status
: ํด๋น ํด๋ ๋ด์ ํ์๊ด๋ฆฌ ์ํ ์ ๋ณดgit add [.]
: staging, ์ผ๋ถ ํ์ผ๋ง ์คํ ์ด์ง ํ ๋ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ญ์ ๋ ํ์ผ์ ๋๋ฝ๋จgit add [-u]
: ์์ ๋๊ฑฐ๋ ์ญ์ ๋ ํ์ผ ๋ฐ์git mv (oldname) (newname)
: ๋ก์ปฌ๊ณผ ์ ์ฅ์์์ ํ์ผ๋ช ๋ณ๊ฒฝ, ๋ณ๊ฒฝ์์ ์์ ์ปค๋ฐํ๊ธฐ
git commit [-m "commit message"]
git commit [-a]
์์ ๋๊ฑฐ๋ ์ญ์ ํ ํ์ผ๋ง commitgit reset [--hard, --soft, --mixed 'commit hash code']
: ํด๋น ์ปค๋ฐ์ผ๋ก ๋กค๋ฐฑgit reset [--hard]
: ๊ฐ์ฅ ๋ง์ง๋ง ์ปค๋ฐ์ผ๋ก ๋กค๋ฐฑ
git remote add origin 'repository url'
: ๊นํ๋ธ์ ์ฐ๋git remote remove
: ์ฐ๋ ๋๊ธฐgit remote [-v]
: ์ฐ๋ ํ์ธ
git push origin main
: ๊นํ๋ธ repo ๋ฉ์ธ ๋ธ๋์น์ ํ์ฌ ์ปค๋ฐ์ ๋ฃ์git clone 'repository url'
: ๊นํ๋ธ repo์์ ๋ชจ๋ ์ปค๋ฐ์ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ดgit pull origin main
: ์๋ฒ์์ ๋ณ๊ฒฝ์ฌํญ์ด ์ผ์ด๋ ๊ฒ์ ๋ก์ปฌ๋ก ๋๊ธฐํ, ๋ก์ปฌ๊ณผ ์๋ฒ ์ํ๋ฅผ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด
git branch
: ํ์ฌ ๋ธ๋์น ํ์ธgit branch 'branch name'
: ๋ธ๋์น ์์ฑgit checkout 'branch name'
: ๋ธ๋์น ์ด๋git merge 'baranch name'
: ํ์ฌ ๋ธ๋์น์ ํด๋น ๋ธ๋์น๋ฅผ ํฉ์นจ
.gitignore
: ์ปค๋ฐ ์์ธ์ฌํญ ์ค์ ํ์ผ
git stash [save "message"]
: ๋ณ๊ฒฝ ์ฌํญ์ ์์์ ์ฅ(WIP)ํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ์ฌ๋ผ์ง(์ถ๊ฐ๋ ํ์ผ์ ์ ์ฅ๋ถ๊ฐ)git stash list
: ์ ์ฅ๋ ๋ชฉ๋ก ์กฐํgit stash show [-p]
: ์ ์ฅ๋ ๋ด์ฉ ์กฐํgit stash pop [stash@{index}]
: ์ ์ฅ๋ stash๋ฅผ ๋ชฉ๋ก์์ ์ถ์ถ(์ถ์ถ ํ ์ฌ๋ผ์ง)git stash apply [stash@{index}]
: ์ ์ฅ๋ stash๋ฅผ ๋ชฉ๋ก์์ ๋ถ๋ฌ์ด(์ฌ๋ผ์ง์ง์์)git stash drop [stash@{index}]
: ์ ์ฅ๋ stash๋ฅผ ๋ชฉ๋ก์์ ์ญ์ git stash clear
: ์ ์ฅ๋ stash ๋ชฉ๋ก์ ์ญ์
cherryPick
๋งํด์ ๋์๊ฐ์ผ ํ๋๋ฐ ํ์ํ ๊ฒ๋ค์ ์ด๋ฆฌ๊ณ ์ถ์ ๋
git cherry-pick 'commit hash code'[..'commit hash code']
: ํด๋น ์ปค๋ฐ์ ๊ฐ์ ธ์์ ์ง๊ธ ๋ด ๋ธ๋์น์ ์ปค๋ฐ
conflict
mergeํ ๋ ์ถฉ๋์ด ๋๋ ๊ฒฝ์ฐ
git์ 3 way merge๋ฅผ ์ํํจ
rebase
merge์์ ์ฐจ์ด : ์ปค๋ฐ ํ์คํ ๋ฆฌ๊ฐ ๋ค๋ฆ
๊ณตํต์ base๋ฅผ ๊ฐ์ง ๋ ๊ฐ์ branch์์ ํ๋์ branch์ base๋ฅผ ๋ค๋ฅธ branch์ ์ต์ ์ปค๋ฐ์ผ๋ก branch์ base๋ฅผ ์ฎ๊ธฐ๋ ์์ ์์ง์ ์ ๋ชจ๋ฅด๊ฒ ๋ค
๋ธ๋์น ์ ๋ต git-flow
ํฌ๊ฒ ๋ค์ฏ๊ฐ์ง์ ๋ธ๋์น๋ฅผ ๋ง๋ค์ด์ ๊ฐ๋ฐ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
Main(Master)
: ์ฌ์ฉ์๊ฐ ์ ํ๋ ๋ฒ์ (๋ฌด์กฐ๊ฑด ์์ ์ )Develop
: ๊ฐ๋ฐ์ฉ ๋ธ๋์น(๊ฐ๋ฐํ ๋ pull ๋ฐ์์ค๋ ๊ณณ์ด์ feature ๋ธ๋์น๋ฅผ ๋ฐ์ค๋ ๊ณณ)Release
: ๋ฐฐํฌ์ฉ ๋ธ๋์น(๊ฐ๋ฐ ๋ธ๋์น์์ ๋ฐ์์ ํ ์คํธ๋ฅผ ํ๊ณ ๋ฒ๊ทธ ์์ ๋ง ํจ) ๊ผญ Develop๊ณผ Main์ merge ํด์ค์ผํจFeature
: ๊ธฐ๋ฅ๊ฐ๋ฐ์ฉ ๋ธ๋์น(ํ๋ค ๋งํ๋ฉด ๋ฒ๋ ค๋ ๋๋ ๊ณณ, ๋ ๋ฆฝ๊ณต๊ฐ)Hotfix
: ๊ธํ๊ฒ ์์ ๋์ด์ผ ํ๋ ์ด์(๋ฒ๊ทธ/๊ธฐ๋ฅ) ๊ผญ Develop๊ณผ Main์ merge ํด์ค์ผํจ
warnning ํด๊ฒฐ
warning: LF will be replaced by CRLF in README.md. ์ด์์ฒด์ ์ ๋ฐ๋ผ ๊ฐํ๋ฌธ์๊ฐ ๋ฌ๋ผ ๊ฒฝ๊ณ ํด์ฃผ๋ ๊ฒ ->
git config core.autocrlf true
๋งจ๋ ๊น๋จน๋ git...
Last updated