Git์ ํํ์ด์ง์ ๋ฐ๋ฅด๋ฉด ์๊ท๋ชจ ํ๋ก์ ํธ๋ถํฐ ๋๊ท๋ชจ ํ๋ก์ ํธ๊น์ง ๋ชจ๋ ๊ฒ์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋๋ก ์ค๊ณ๋ ๋ฌด๋ฃ ์คํ ์์ค ๋ถ์ฐ ๋ฒ์ ์ ์ด ์์คํ
์ด๋ผ๊ณ ์ค๋ช
๋์ด ์๋ค.
๋ํ์ ์ธ Git์ ์ฅ์๋ก Git์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ๋ฅผ ์ง์ํ๋ ์นํธ์คํ ์๋น์ค์ด๋ค.
-
config
- ์ฌ์ฉ์๋ช ๊ตฌ์ฑ : git config (--global) user.name "name"
- ์ด๋ฉ์ผ ์ค์ : git config (--global) user.email "email"
- ์ค์ ์ ๋ณด ์กฐํ : git config (--global) --list
- ํฐ๋ฏธ๋์ ํ์๋๋ ๋ฉ์์ง์ ์นผ๋ผ๋ฅผ ํ์ํด์ค : git config --global color.ui โautoโ
- alias ๋ฑ๋ก : git config --global alias.
๋ณ์นญ'!์ ์ฉํ ๋ช ๋ น์ด'
-
remote
-
์๊ฒฉ ์ ์ฅ์ ์ถ๊ฐ : git remote add <remote ๋ณ์นญ> <์ ์ฅ์ url>
-
์๊ฒฉ ์ ์ฅ์ ๋ณ๊ฒฝ : git remote set-url <remote ๋ณ์นญ> <์ ์ฅ์ url>
-
์๊ฒฉ ์ ์ฅ์ ๋ณ์นญ ๋ด์ญ ํ์ธ : git remote -v
-
์๊ฒฉ ์ ์ฅ์ ๋ณ์นญ ์ ๊ฑฐ : git remote rm ์๊ฒฉ์ ์ฅ์ ๋ณ์นญ
-
-
-
์๋ก์ด ํ์ผ ์ถ๊ฐ : git add <ํ์ผ๋ช ๋ค์ด๋ '.'>
-
commit
- addํ ํ์ผ์ ๋ํด commit ๋ฉ์์ง ์ถ๊ฐ : git commit -m "๋ฉ์์ง"
- ๋ชจ๋ ๋ณ๊ฒฝ๋ ํ์ผ์ ๋ํด commit ๋ฉ์์ง ์ถ๊ฐ : git commit -am "๋ฉ์์ง"
- ๋ง์ง๋ง ์ปค๋ฐ ๊ณ ์น๊ธฐ : git commit -m "๋ฉ์์ง" --amend
-
push : ๋ก์ปฌ ์ ์ฅ์์ commit๋ ํ์ผ์ ์๊ฒฉ์ ์ฅ์์ ๋ฐ์ํ๊ธฐ git push <remote ๋ณ์นญ> <
branch> -
pull : ์๊ฒฉ์ ์ฅ์์์ ๋ก์ปฌ ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๊ธฐ git pull <remote ๋ณ์นญ> <
branch>pull์ fetch์ merge๊ฐ ํฉ์ณ์ง ๋ช ๋ น์ด
-
fetch : ์๊ฒฉ ์ ์ฅ์์์ ํฉ์น์ง ์๊ณ ๋ก์ปฌ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๊ธฐ git fetch <remote ๋ณ์นญ>
-
merge : ๋ค๋ฅธ branch๋ฅผ ํ์ฌ checkout๋ ๋ธ๋์น์ mergeํ๋ ๋ช ๋ น git merge <
branch>- merge์ ์ถฉ๋์ผ์ด๋ฌ์ ๋ merge์ ์ผ๋ก ๋๋๋ฆฌ๊ธฐ : git merge --abort
-
stash : ํ๋ ์์ ์ ์์๋ก ์ ์ฅ ํด๋๋ ๋ช ๋ น์ด
- git statsh list : stash ๋ชฉ๋ก ํ์ธ
- git stash apply [stash์ด๋ฆ] --index : ์์ ์ ๋ค์ ๊ฐ์ ธ์ค๊ธฐ
- git stash drop [stash์ด๋ฆ] : ์คํ์์ stash ์ ๊ฑฐ
- git stash pop : apply + drop ํํ
- git stash show -p | git apply -R : stash ์ ์ฉํ ๊ฒ์ ๋ณต๊ตฌ
-
branch : branch๋ฅผ ๋ค๋ฃจ๋ ๋ช ๋ น์ด
- branch ์์ฑ : git branch <branch ๋ช >
- branch ์ญ์ : git branch -D <branch ๋ช >
- ๋ก์ปฌ ์ ์ฅ์์ branch ์กฐํ : git branch
- ์๊ฒฉ ์ ์ฅ์ branch ์กฐํ : git branch -r
- ๋ก์ปฌ,์๊ฒฉ ๋ชจ๋ ์กฐํ : git branch -a
- ์๋ก์ด ๋ธ๋์น๋ก ๋ฎ์ด์ฐ๊ธฐ : git branch -f <๊ธฐ์กด branch> <์๋ก์ด branch>
-
checkout : branch๋ฅผ ์ด๋ํ๋ ๋ช ๋ น์ด
-
branch ์ด๋ : git checkout <branch ๋ช >
- ์๊ฒฉ ์ ์ฅ์์ branch๋ก checkoutํ๋ฉด ์์ค์ฝ๋๋ค์ ์กฐํํ๊ณ ๋ณ๊ฒฝํ ์ ์์ง๋ง, commit/push ํ ์ ์๊ณ ๋ค๋ฅธ branch๋ก checkout์์ branch๋ ๋ก์ปฌ์์ ์ฌ๋ผ์ง๋ค.
-
branch ๋ง๋ค๋ฉด์ ์ด๋ : git checkout -b <branch ๋ช >
-
ํน์ branch๋ก๋ถํฐ ์๋ก์ด ๋ธ๋์น ์์ฑ : git checkout -b <์๋ก์ด branch ๋ช > <ํน์ branch>
-
๋ธ๋์น๋ช ๋ณ๊ฒฝ : git checkout -m <๊ธฐ์กด ๋ธ๋์น> <์๋ก์ด ๋ธ๋์น>
-
์๊ฒฉ ์ ์ฅ์์ ํน์ branch๋ฅผ ๋ก์ปฌ์ ๊ฐ์ ธ์ค๊ธฐ : git checkout -t <remote๋ณ์นญ/branch๋ช >
์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด
git remote update๋ฅผ ํตํด ์๊ฒฉ ์ ์ฅ์๋ฅผ ์ต์ ์ํ๋ก ๊ฐฑ์
-
-
log
- ๋ชจ๋ log๋ณด๊ธฐ : git log
- ํจ์น์ ํจ๊ป log ํ์ : git log -p
- ํน์ ๊ฐ์์ ํญ๋ชฉ๋ง log ๋ณด๊ธฐ : git log -์ซ์
- ํน์ ์๊ฐ๋์์ log ๋ณด๊ธฐ : git log --since "6 hours"
- ํน์ ๋ ์ง์ ๊น์ง์ log ๋ณด๊ธฐ : git log --before "2 days"
- ์ปค๋ฐ ๋ด์ฉ์ ํ์ค๋ก ์์ถํ์ฌ ํ์ : git log --oneline
-
diff
- ํ์ฌ ์์ ํธ๋ฆฌ์ ์ธ๋ฑ์ค ์ฐจ์ด์ ๋ณด๊ธฐ : git diff
- ์ธ๋ฑ์ค์ ์ ์ฅ์ ์ฐจ์ด์ ๋ณด๊ธฐ : git diff --cached
- ์์ ํธ๋ฆฌ์ ์ ์ฅ์ ์ฐจ์ด์ ๋ณด๊ธฐ : git diff HEAD
-
status
- ์์ ํธ๋ฆฌ ์ํ ํ์ : git stauts
- ์งง์ ํ์์ผ๋ก ํ์ : git status -s
- ์ถ์ ๋์ง ์์ ํ์ผ๋ ํ์ : git status -u
-
reset
- git add ์ดํ์ ๋ณ๊ฒฝ ๋ด์ญ ๋๋๋ฆฌ๊ธฐ : git reset HEAD
- ํน์ commit์ดํ์ ๋ชจ๋ ๋ด์ญ์ ์ญ์ ํ๊ณ ๋๋์๊ฐ๊ธฐ : git reset --hard <commit ๊ฐ>
-
๋๋ช ์ฌ๋ณด๋ค ์๋ฏธ๋ฅผ ์ํํํ๋ ๋ช ์ฌ๋ฅผ ์ฌ์ฉ
-
๊ด์ฌ ์ฌ์ฉ X (a,an,the)
-
๋ถ์ ๋ฌธ
Don't์ฌ์ฉ
-
Fix : ์์
- ์คํ ์์ : Fix typo
- A๋ฅผ ์์ : Fix A
- B์ A๋ฅผ ์์ : Fix A in B
- B๋ฅผ ์ํด A๋ฅผ ์์ : Fix A to B
- A๋ฅผ ์์ ํด์ B๊ฐ ๋๋ค : Fix A so that B
- B์ฒ๋ผ ๋ฐ์ํ๋ A๋ฅผ ์์ : Fix A where B
- B์ผ๋ ๋ฐ์ํ๋ A๋ฅผ ์์ : Fix A when B
-
Set : ๋ณ์ ๊ฐ์ ๋ณ๊ฒฝ๋ฑ ์์ ์์
-
Refactor : ์ ๋ฉด ์์
-
Improve : ํธํ์ฑ,์ฑ๋ฅ,์ ๊ทผ์ฑ ๋ฑ ํฅ์์ด ์์ ๋
-
Simplify : ์ฝ๋ ๋จ์ํ
-
Update : ์๋ชป๋๊ฒ ์์ ์ด ์๋ ์์ ,์ถ๊ฐ, ๋ณด์
- A๋ฅผ B๋ก ์ ๋ฐ์ดํธ : Update A to B
-
Revise : ๋ฌธ์์ ๊ฐ์ ์ด ์์ ๋
-
Add : ์๋กญ๊ฒ ์ถ๊ฐํ๊ฑฐ๋ ๋ง๋ ๊ฒ
- B๋ฅผ ์ํด A๋ฅผ ์ถ๊ฐ : Add A for B
- B์ A๋ฅผ ์ถ๊ฐ : Add A to B
-
Implement : Add์ ๋นํด ๋ ํฐ ๋จ์์ ์ฝ๋์ ์ฌ์ฉ ( ํ๋์ ๊ธฐ๋ฅ )
-
Make : ๊ธฐ์กด ๋์์ ๋ณ๊ฒฝ
- A๋ฅผ Bํ๊ฒ ๋ง๋ฌ : Make A B
-
Remove : ์ญ์
- B์์ A๋ฅผ ์ญ์ : Remove A from B
-
Use : ์ฌ์ฉ
- B์ A๋ฅผ ์ฌ์ฉ : Use A for B
- B๊ฐ ๋๋๋ก A๋ฅผ ์ฌ์ฉ : Use A to B
- B์์ A๋ฅผ ์ฌ์ฉ : Use A in B
-
Correct : ๋ฌธ๋ฒ์ ์ค๋ฅ๋ ํ์ ๋ณ๊ฒฝ,์ด๋ฆ ๋ณ๊ฒฝ
-
Ensure : ํ์คํ ๋ณด์ฅ๋ฐ๋๋ก ํจ
-
Prevent : ํน์ ํ ์ฒ๋ฆฌ๋ฅผ ๋ชปํ๊ฒ ๋ง์
-
Avoid : ํน์ ํ ์ฒ๋ฆฌ๋ฅผ ํํผํ๊ฒ ํจ
-
Move : ์ฝ๋์ ์ด๋
-
Rename : ์ด๋ฆ ๋ณ๊ฒฝ
-
Verify : ํน์ ๊ธฐ๋ฅ์ ๊ฒ์ฆ
-
Pass : ํ๋ผ๋ฏธํฐ ๋๊ธฐ๋ ์ฒ๋ฆฌ์ ์ฌ์ฉ
- A๋ฅผ B๋ก ๋๊น : Pass A to B
https://blog.ull.im/engineering/2019/03/10/logs-on-git.html https://git-scm.com/docs